2013-12-04 3 views
0

Я работаю над приложением, где мне нужно узнать ближайшие больницы, находящиеся в радиусе 200 миль. У меня есть список больниц, широта и долгота которых сохраняются в базе данных, но я хочу получить местоположение устройства. Как я могу получить местоположение устройства. Ниже я использую следующий код.Как получить текущее местоположение устройства в C#

namespace GoogleMaps 
{ 
    class Program 
    { 
     private double HaversineDistance(double firstLat, double firstLong, double secondLat, double secondLong) 
     { 
      double dLat = this.toRadian(secondLat - firstLat); 
      double dLon = this.toRadian(secondLong - firstLong); 

      double a = Math.Sin(dLat/2) * Math.Sin(dLat/2) + 
      Math.Cos(this.toRadian(firstLat)) * Math.Cos(this.toRadian(secondLat)) * 
      Math.Sin(dLon/2) * Math.Sin(dLon/2); 
      double c = 2 * Math.Asin(Math.Min(1, Math.Sqrt(a))); 
      double d = 6371 * 2 * Math.Asin(Math.Min(1, Math.Sqrt(a))); 
      return d; 

     } 

     private double toRadian(double val) 
     { 
      return (Math.PI/180) * val; 
     } 

     static void Main(string[] args) 
     { 
      double dist; 
      Program a = new Program(); 
      dist = a.HaversineDistance(28.6100, 77.2300, 26.8470, 80.9470); 
      Console.WriteLine("Harversine Distance = " + dist); 
      Console.ReadKey(); 
     } 
    } 
} 

ответ

3

Пожалуйста, вы можете использовать GeoCoordinateWatcher Class

или увидеть this

, а также здесь есть хорошие решения для click

вышеприведенном демо ссылка:

enter image description here

+0

Спасибо за ссылку .. Лучше будет использовать Google Map Geolocation API Service или GeoCoordinateWatcher Class. – user3026519

Смежные вопросы