代码之家  ›  专栏  ›  技术社区  ›  Dror Big McLargeHuge

用户不允许的地理位置-第二次通知用户

  •  1
  • Dror Big McLargeHuge  · 技术社区  · 16 年前

    当我第一次尝试在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 回复  |  直到 16 年前
        1
  •  3
  •   Jasarien    16 年前

    地理定位API的设计是为了在用户拒绝重复请求后不会让用户感到烦恼。你可以从“设置”应用程序中重置位置警告,但这就是你所能做的。

    一旦用户连续两次拒绝地理定位权限,API将假定他们不想要它,并且不再询问。

    kCLErrorDenied 错误。一旦收到这样的错误,您应该停止定位服务。