在尝试获取当前位置时我得到NAN - 经度和纬度

时间:2012-07-08 12:36:34

标签: c# .net visual-studio-2010 windows-phone-7 latitude-longitude

我写了一个非常简单的应用程序,它只获取手机的当前位置 - 经度和纬度并打印出来。问题是我得到经度和纬度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;
}

2 个答案:

答案 0 :(得分:2)

不记得具体细节..但您的GPS并不只是一直打开,因此不会一直知道您的位置。

你需要启用GPS,并等待它获得锁定(如上所述,我不记得究竟该怎么做)。只有这样它才有坐标。

答案 1 :(得分:2)

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

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

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