3

HTML5 ジオロケーションをテストしています。Opera と Opera Mobile で奇妙な結果が得られました。

最後の訪問位置のタイムスタンプが過去のある時間からのものである後、しばらくしてから (たとえば 25 分) サイトにアクセスすると。しかし、5 秒より前の位置が必要であることを示すオプションを渡します。ページを更新した後、「今」に近い位置のタイムスタンプを取得します。訪問ごとに「今」に近い位置のタイムスタンプを返す必要があると思います。

例:

最初の訪問: 位置のタイム スタンプ 23:23:13

ブラウザを閉じる:

23:45:20 にサイトに戻る: 位置のタイムスタンプ 23:25:21

更新: 位置のタイムスタンプ 23:45:11

ここに私のAPI呼び出しがあります:

navigator.geolocation.getCurrentPosition(geoSuccess, geoError, { maximumAge: 5000, timeout: 10000, enableHighAccuracy: true });

これは、テスト用に作成した Azure Web サイトで確認できます

geotest.apphb.com

編集: 数分前に、opera:config を使用すると、変更時にのみ位置要求を送信することがわかったジオロケーション設定にアクセスできることを知りました。オフにすると、ジオロケーション API は想定どおりに動作します。しかし、この設定がわかりません。現在地リクエストを送信するには、何を変更する必要がありますか? この設定をオンにすると、geolocation api が数時間前の位置情報を提供してくれます。私はすでに別の都市にいますが。

4

2 に答える 2

2

Windows 用の Opera の構成 Web サイトによると、Send location request only on changeは次のことを意味します。

一部のデータ プロバイダー (Wi-Fi、セルなど) が実際に変更された場合にのみ、位置情報要求を送信します。

したがって、都市を変更したときに、上記のようにデータ プロバイダーを変更しなかったと想定しています。Wi-Fi アクセス ポイントを見つけたり、別のテクノロジを使用してインターネットにアクセスしたりすると、位置情報要求が送信されて更新される可能性があります。

于 2013-04-03T13:21:06.653 に答える
0

ページは既に読み込まれgetCurrentPositionているため、必要な位置は、ページが読み込まれたときの位置 (ページ読み込み時のユーザーの現在の位置) であると想定されます。

位置を継続的に更新するために使用watchPositionします (ページのリロードなし)。

于 2013-04-03T00:05:27.413 に答える