2016-10-30 14 views
1

出力ジオ座標は最初のロード時にのみ正確です。問題は、iPhoneの画面がタイムアウトし、ロケーションサービスもタイムアウトしたときです。私が再びサファリを開くと、地理座標は100メートル離れています。サファリアプリをバックグラウンドにプッシュすると同じことが起こります。ジオロケーションを要求するサファリタブをリロードするか、サファリアプリのキャッシュをクリアして再びサファリを開くと、問題は解決されます。なぜこうなった?私のユースケースでは、目的地に向かって案内する矢印をユーザに表示する。したがって、ロケーションサービスのタイムアウトにつながるユーザのために、時々電話がタイムアウトする可能性があります。 iOSクロムはこの振る舞いを模倣せず、予想どおりに動作します。つまり、ジオ座標は、フォーカスおよび/または画面タイムアウトのタブの後に常に正確なイベントです。ロケーションサービスを使用したモバイルSafariでのgeolocation.watchPosition()の使用

答えて

0

なぜこれが正確に起こるのかわかりませんが、それも私に起こっています。 window.setIntervalを使用して5秒ごとに関数を呼び出すか、場所が更新されたかどうかをチェックすることで問題を回避できました。そうでない場合、関数はジオロケーション時計を停止して再起動します。

ジオロケーションウォッチの再起動は、ページの再読み込みと同じ効果があります。つまり、精度がさらに向上し、場所の更新が再開されます。希望が助けてくれる!

関連する問題