ユーザーが私の Web サイトにアクセスすると、PHP でロケーション セッションが設定されているかどうかを確認します。ユーザーの場所に設定されたセッションがない場合は、ユーザーを www.domain.net/location にリダイレクトします。このページには、ユーザーが場所を選択するためのいくつかのオプションがあります。ブラウザで許可されている場合、オプションの 1 つは、ブラウザを使用してこれを設定することです。以下のコードは非常にうまく機能します。
私が抱えている問題は、ユーザーがブラウザーで場所を共有することを許可すると、これが永久に設定されているように見えることです。ユーザーがブラウジングしている間に、場所を変更することにした場合、ボタンをクリックして再度 www.domain.net/location ページに移動します。何もポップアップせずに、ブラウザの場所を自動的に取得してリダイレクトします。ページには、クリック可能なマップを含む他の場所のオプションがあります。ユーザーがブラウザを使用して場所を設定するか、許可するかをブラウザが再度尋ねるように、何かをリセット、期限切れ、削除、強制できる必要があります。ユーザーは他のオプションのいずれかを使用できます。
私が考えることができる唯一のことは、下の実際のJavascriptを別のページに移動し、www.domain.net/locationページに「正確な場所を使用する」などの別のボタンを配置して、以下のJSにリンクすることです.
これまたは何かをリセットする別の方法を知っている人はいますか?
<script type="text/javascript" charset="utf-8">
function findLocation()
{
var options = {timeout: 60000};
navigator.geolocation.getCurrentPosition(foundLocation, noLocation, options);
}
function foundLocation(position)
{
var lat = position.coords.latitude;
var lng = position.coords.longitude;
//alert('Found location: ' + lat + ', ' + lng);
window.location = "http://www.domain.net/?lat=" + lat + "&lng=" + lng;
}
function noLocation()
{
alert('Could not find location');
window.location = "http://www.domain.net/location";
}
findLocation();
</script>