2017-11-30 33 views
0

私はクローム64に更新され、私たちのWebアプリケーションでは、このメッセージに気付い開始しました:ユーザージェスチャーに応答してジオロケーション情報のみを要求しますか?

[Violation] Only request geolocation information in response to a user gesture. 

これは過度に制限ようです。 Googleマップをナビゲートするときに、「場所の更新」を繰り返しクリックする必要はありません。ロケーションポーリングの代替手段は何ですか?

我々は現在、以下のコードを使用している:

let locInt = self.setInterval(function(){ 
    navigator.geolocation.getCurrentPosition(geoSuccess, geoError, geoOptions); 
},5000); 

私たちのアプリは、ロケーションベースで、常に更新された位置に依存しています。ここでの優先メソッドは何ですか?

+0

、私はGoogleマップを開いた、と私はその違反行為を見ていませんよ。だから彼らはポーリングの場所ではないようだ。 –

+0

ポーリングの代わりに['watchPosition()'](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/watchPosition)を使うのはどうですか? –

答えて

2

watchPosition()メソッドを使用すると、デバイスの位置が変更されるたびにブラウザが自動的に呼び出すハンドラを登録できます。これはポーリングに適しています。データポイントの

id = navigator.geolocation.watchPosition(success[, error[, options]]) 

https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/watchPosition

関連する問題