2017年8月4日金曜日

OpenLayers Examples GPSの位置がずれる

OpenLayersのサンプルプログラムを表示させましたが、位置がずれることに悩んでいます。
サンプルプログラムは、こちらのページです。
http://openlayers.org/en/latest/examples/geolocation.html

まず、問題の1つは、ブラウザにより、挙動が異なることです。
firefoxでは、一応、それらしい動きをしますが、Chromeでは動作しません。
具体的には、GPSのTrackをオンにすると、firefoxでは、現在地をマークします。
Chromeでは、Only secure origins are allowed (see: https://goo.gl/Y0ZkNV).と表示され、マークされません。
昨日は、大丈夫だったような気がして、その点でも悩んでいます。これは記憶違いかもしれませんが。
少し調べてみると、サンプルプログラムの記述と、実際のサンプルプログラムが異なるようで、数日の間に、何か修正が入った可能性もあると考えています。

次の問題に、マークの表示位置がずれます。
昨日は、正常な位置を示していましたが、今日は、10km以上離れた場所を表示しています。

公式サイトのサンプルが、この状態ですから、それを元に自作したプログラムも不可解な挙動になっています。
こちらは、昨日は、異常な場所を示していましたが、今日は、正常な場所を示しました。その後は、GPSのAPI自体がエラーになり動きません。

原因の可能性としては、イベント処理の順序が確定しないのではないかと考えています。
また、EPSG:4326からEPSG:3857への変換が見えないところで行われているように思います。
このあたりが怪しいと考えています。

0 件のコメント:

コメントを投稿