3

我编写了一个非常简单的应用程序,它只获取手机的当前位置——经度和纬度并打印出来。问题是我得到NAN了经度和纬度。这是我的代码:

private void button1_Click(object sender, RoutedEventArgs e) {
  GeoCoordinateWatcher watcher = new GeoCoordinateWatcher();
  GeoPosition<GeoCoordinate> GC = new GeoPosition<GeoCoordinate>();
  GC = watcher.Position;
  double latitude = GC.Location.Latitude;
  double longitude = GC.Location.Longitude;
  textBlock1.Text = "longitude: " + longitude;
  textBlock2.Text = "latitude: " + latitude;
}
4

2 回答 2

2

不记得细节了。但是您的 GPS 并不总是打开,因此并不总是知道您的位置。

您需要启用 GPS,并等待它获得锁定(如前所述,我不记得具体如何操作)。只有这样它才有坐标。

于 2012-07-08T12:40:32.253 回答
2

1)必须在手机上启用 GPS 2)您必须启动观察者:

watcher.PositionChanged += YourPositionChangedHandler;
watcher.Start();

当观察者应该触发事件时,您可以设置偏移量。我记得还有一个像“TryGetPosition”这样的功能,你不必启动观察者,只需获得一次位置。

于 2012-07-08T13:57:07.827 回答