1

サイトに Google マップがあり、W3 Geolocation を使用して、[現在の場所を取得] ボタンをクリックしたときにユーザーの場所を検出しています。次に、ブラウザ ウィンドウの上部に許可/拒否情報バーが表示されます。

すべての訪問者に地理位置情報へのアクセスを求めたいわけではありませんが、ユーザーが既に地理位置情報を許可しているかどうかを何らかの形で覚えておき、許可している場合は地理位置情報を実行したいと考えています。

私の調査では、これは不可能ですが、誰かが以前にこの状況に遭遇したことを願っています. これができると私が理解できる唯一の方法は、Cookieを設定することです。

ありがとう!

4

1 に答える 1

1

これはあなたが望むものではありませんが、役立つと思います。

W3Cドラフトによると、キャッシュされた値が見つからない場合は、ブラウザからキャッシュされた値を取得するか(ユーザーの確認なしで)、カスタムメソッドにフォールバックすることができます。

ユーザーがジオロケーションを提供することに同意したとすると、それはキャッシュされます。同じW3Cドラフトからの例:

// Request a position. We only accept cached positions, no matter what 
// their age is. If the user agent does not have a cached position at
// all, it will immediately invoke the error callback.
navigator.geolocation.getCurrentPosition(successCallback,
                                         errorCallback,
                                         {maximumAge:Infinity, timeout:0});
于 2011-11-11T15:19:46.450 に答える