пользователь запрещен геолокации - уведомить пользователя во второй раз - PullRequest
1 голос
/ 18 марта 2010

При попытке получить геолокацию на iPhone в первый раз - я отказался. Каждый раз, когда я хочу получить местоположение (до следующей перезагрузки страницы), я не получаю ответа (нет ошибки и нет успеха):

navigator.geolocation.getCurrentPosition(
    function (location) {
        ig_location.lat = location.coords.latitude;
        ig_location.lng = location.coords.longitude;
        alert('got it!');
    },
    function(PositionError) {
        alert('failed!' + PositionError.message);
    }
);

Есть ли способ уведомлять пользователя каждый раз, когда мне не удается получить местоположение?
(Мне не нужно использовать watchPosition ...)

1 Ответ

3 голосов
/ 18 марта 2010

API Geolocation разработан таким образом, что он не раздражает пользователя повторными запросами после их отклонения. Вы можете сбросить предупреждения о местоположении из приложения настроек, но это все, что вы можете сделать.

Как только пользователь дважды отклоняет разрешение на геолокацию, API будет считать, что оно ему не нужно, и не будет запрашивать снова.

Точная формулировка из документации по базовому расположению:

Если пользователь отрицает использование приложением службы определения местоположения, этот метод сообщает об ошибке kCLErrorDenied. Получив такую ​​ошибку, вы должны остановить службу определения местоположения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...