我写了一个非常简单的应用程序,它只获取手机的当前位置 - 经度和纬度并打印出来。问题是我得到经度和纬度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;
}
答案 0 :(得分:2)
不记得具体细节..但您的GPS并不只是一直打开,因此不会一直知道您的位置。
你需要启用GPS,并等待它获得锁定(如上所述,我不记得究竟该怎么做)。只有这样它才有坐标。
答案 1 :(得分:2)
1)必须在手机上启用GPS 2)你必须启动观察者:
watcher.PositionChanged += YourPositionChangedHandler;
watcher.Start();
您可以在观察者应该触发事件时设置偏移量。 我可以记得还有一个像“TryGetPosition”这样的功能,你不需要启动观察者并只获得一次位置。