Определить, разрешена ли геолокация W3 - PullRequest
1 голос
/ 04 ноября 2011

У меня есть карта Google на моем сайте, и я использую W3 Geolocation для определения местоположения пользователей, когда они нажимают кнопку «Получить текущее местоположение». Затем должно появиться всплывающее окно с информацией о разрешении / запрете в верхней части окна браузера.

Я не хочу запрашивать у всех моих посетителей доступ к геолокации, но хочу как-то вспомнить, если пользователь уже разрешил геолокацию и, если это так, запускает геолокацию.

Из моих исследований это невозможно, но я надеюсь, что кто-то сталкивался с такой ситуацией раньше. Единственный способ понять, что это можно сделать - это установить cookie.

Спасибо!

1 Ответ

1 голос
/ 11 ноября 2011

Это не совсем то, что вы хотите, но я думаю, что это может быть полезно.

Согласно W3C draft вы можете попытаться получить любое кэшированное значение избраузер (без подтверждения пользователя) или откат к пользовательскому методу, если не найдено кэшированное значение.

Если пользователь согласился предоставить геолокацию, он будет кэширован.Пример из того же проекта 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});
...