2015-05-18 2 views
2

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

Код

public string GetLocationProperty() 
{ 
    double a = 0.0; 
    string b = ""; 
    GeoCoordinateWatcher watcher = new GeoCoordinateWatcher(); 

    // Do not suppress prompt, and wait 1000 milliseconds to start. 
    watcher.TryStart(false, TimeSpan.FromMilliseconds(1000)); 

    GeoCoordinate coord = watcher.Position.Location; 

    if (coord.IsUnknown != true) 
    { 
     //Console.WriteLine("Lat: {0}, Long: {1}", 
     // coord.Latitude, 
     // coord.Longitude); 
     a = coord.Latitude; 
     b = a.ToString(); 
    } 
    else 
    { 
     Console.WriteLine("Unknown latitude and longitude."); 
    } 
    return b; 
} 
+0

Вы не получают значение широты в 'Ā' ? – Abhishek

+2

В чем проблема? –

+0

Как правило, если вы сталкиваетесь с методом под названием TryXXX, он будет иметь возвращаемое значение, указывающее, было ли оно успешным. И действительно, ['TryStart'] (https://msdn.microsoft.com/en-us/library/system.device.location.geocoordinatewatcher.trystart (v = vs.110) .aspx). Поэтому не * игнорируйте *, возвращающее значение. –

ответ

3

Здесь вы идете

GeoCoordinateWatcher watcher= new GeoCoordinateWatcher(GeoPositionAccuracy.Default); 
watcher.Start(); //started watcher 
GeoCoordinate coord = watcher.Position.Location; 
if (!watcher.Position.Location.IsUnknown) 
{ 
    double lat = coord.Latitude; //latitude 
    double long = coord.Longitude; //logitude 
} 
1

Используйте этот код, чтобы получить текущее местоположение пользователя

static void Main(string[] args) 
    { 
     GeoCoordinateWatcher watcher; 
     watcher = new GeoCoordinateWatcher(); 

     watcher.PositionChanged += (sender, e) => 
     { 
      var coordinate = e.Position.Location; 
      Console.WriteLine("Lat: {0}, Long: {1}", coordinate.Latitude, coordinate.Longitude); 
      // Uncomment to get only one event. 
      watcher.Stop(); 
     }; 

     // Begin listening for location updates. 
     watcher.Start(); 

     Console.ReadKey(); 
    } 
Смежные вопросы