Windows Phone 7.1 用のナビゲーション アプリケーションを開発しました。そこは元気に走っていました。8.0 に更新した後、GeoCoordinateWatcher が機能しなくなりました。代わりにGeolocatorを使用できることは知っていますが、時間がないため拒否します.
私のアプリでは、ウォッチャーの現在の位置を読み取り、位置情報を含むオブジェクト インスタンスに格納します。オブジェクト インスタンスを保存すると、経度と緯度は 0.0 になります。エミュレータで位置を変更しても、まだ 0.0.0 のままです。GeoCoordinateWatcher を使用する他のページでも同じ問題が発生します。うまくいきません。すでに述べたように、WP 7.1 - 7.8 では非常にうまく機能します。
public Map()
{
InitializeComponent();
watcher = new GeoCoordinateWatcher();
watcher.MovementThreshold = 20;
watcher.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs>(watcher_StatusChanged);
watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged);
}
void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
{
if (e.Position.Location.IsUnknown)
{
MessageBox.Show("Please wait while your prosition is determined.");
return;
}
geo.Latitude = e.Position.Location.Latitude;
geo.Longitude = e.Position.Location.Longitude;
}