スマートフォン用Webページでの地図上の現在位置表示について
スマートフォン用のWebページでやりたかったことの一つが、地図で現在位置を表示することでした。
最初は geolocation.getCurrentPosition を使って表示させてみたのですが、何回実行しても位置がずれていました。
しかし、専用アプリの地図で現在位置を表示してから、今回作成したWebページで現在位置を表示すると正しい位置を表示します。
GPSでの取得のタイミング等によるのかと思いつつWebを検索してみると、getCurrentPosition ではずれが生じるので、watchPosition を使うという記事をみつけました。
watchPosition は位置を追跡して地図上で常に現在位置を表示し続けます。終了するには clearWatchを使います。使ってみたところ、正しい位置を表示しているようでした。
両方使えるようにして外に出て確認してみましたが、やっぱりどちらでもずれてしまい、よくわからなくなってしまいました。雨だったせいなのかと思ったり…
再度調べてみて、enableHighAccuracy を trueにすると精度が高くなるとか、AndroidではこれをtrueにしないとGPSを使わないとかいう記事を見つけました。(現在はどうなのかわかりません。私はiPhoneを使っています。)
結局、getCurrentPosition でも enableHighAccuracy を trueにしたら、何回か実行すると正確な現在位置を表示しているようです。
また外で確認してみようと思います。
【後述】
電車の中でgetCurrentPositionを実行するボタンを何回か押し続けてみましたが、停車駅や線路を追っていました。
getCurrentPositionでも正確な位置を取得できているようです。
Recent Comments