GeoCoordinateWatcher トラッカーを宣言します。このトラッカーは、以下のように PageOnload イベントで開始されます。
この :case GeoPositionStatus.NoData を表示するような条件を作成する方法がわからないので、アドバイスが必要です。私の目的は、現在の緯度と経度を取得するまで再起動することです。
Q1) GeoPositionStatus.NoData の場合、GeoCoordinateWatcher を再起動するベスト プラクティスは何ですか?
GeoPositionStatus.NoData の場合にこれを行います
tracker.Stop(); tracker.Start();
void tracker_StatusChanged(オブジェクト送信者、GeoPositionStatusChangedEventArgs e) { スイッチ (e.Status) { ケース GeoPositionStatus.Disabled: if (tracker.Permission == GeoPositionPermission.Denied) { MessageBox.Show("このデバイスの位置情報サービスはオフになっています。プライバシーについてお読みください。"); } そうしないと { MessageBox.Show("位置情報サービスは機能していますが、位置データを取得できません。"); } 壊す; ケース GeoPositionStatus.Initializing: // 初期化が必要なコードがここに入る 壊す; ケース GeoPositionStatus.NoData: //MessageBox.Show("位置データは利用できません。"); 壊す; ケース GeoPositionStatus.Ready: // 位置データが利用可能になったときに実行する必要があるコードがここに入る 壊す; } }