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:
// 位置データが利用可能になったときに実行する必要があるコードがここに入る
壊す;
}
}