user disallowed geolocation - 第二次通知用户

时间:2010-03-18 16:30:20

标签: javascript iphone geolocation

第一次尝试在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 个答案:

答案 0 :(得分:3)

Geolocation API的设计使其不会在用户拒绝后重复请求。您可以从设置应用重置位置警告,但这就是您可以做的所有事情。

一旦用户连续两次拒绝地理定位权限,API就会认为他们不想要它而不再询问。

Core Location文档中的准确措辞:

  

如果用户拒绝您的应用程序使用位置服务,则此方法会报告kCLErrorDenied错误。收到此类错误后,您应该停止位置服务。