第一次尝试在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 ......)
答案 0 :(得分:3)
Geolocation API的设计使其不会在用户拒绝后重复请求。您可以从设置应用重置位置警告,但这就是您可以做的所有事情。
一旦用户连续两次拒绝地理定位权限,API就会认为他们不想要它而不再询问。
Core Location文档中的准确措辞:
如果用户拒绝您的应用程序使用位置服务,则此方法会报告
kCLErrorDenied
错误。收到此类错误后,您应该停止位置服务。