2010-03-18 93 views
2

当第一次尝试在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 ...)

回答

4

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

一旦用户连续两次拒绝地理位置权限,API将假定他们不需要它,并且不再询问。从核心位置文档

精确用词:

如果用户拒绝你的应用程序使用位置服务的,这个方法报告一个kCLErrorDenied错误。一旦收到这样的错误,你应该停止位置服务。

+2

感谢您的回答。 为其他人寻找实际的文件 - 它在:http://developer.apple.com/iphone/library/documentation/CoreLocation/Reference/CoreLocation_Framework/CoreLocation_Framework.pdf – Dror 2010-03-19 06:23:23

相关问题