地理定位iPhone 5和iPad 3



我有一个很奇怪的问题。下面的代码可以在我电脑上的所有浏览器和ios模拟器(所有设备)上运行,但不能在我自己的iPhone 5或iPad 3(都运行6.0.2)上运行。

getLocation: function()
{   
    if(navigator.geolocation)
    {   console.log('It is supported');
        navigator.geolocation.getCurrentPosition(getPosition);
    }
    function getPosition(position)
    {
        console.log('You should see this :/');
        var coords = [];
            coords['longitude'] = position.coords.longitude;
            coords['latitude'] = position.coords.latitude;
            console.log(coords["longitude"]);
    }

当我调试时发生以下情况:在我的浏览器/ios -模拟器中,我得到所有console.log消息,但在我的iPhone/iPad中,我只得到"它是支持的",下一行永远不会执行?!我该怎么办?当我尝试其他地理位置网站它工作…真的奇怪。

我在这里放了一个测试站点,请告诉我你的结果,它对你有用吗?如果它工作的警告弹出与您的经度应该显示。测试站点(在iPhone/iPad上试用)

好吧,我找到了一个解决方案。当您连续三次授予iOS Safari权限时,它将停止询问您的权限。这就解释了为什么请求我允许的弹出框从来没有出现过。当我在iPhone上进行恢复(设置->恢复->恢复隐私)时,它成功了。

但不知何故,我仍然认为这是一个错误,我的getPosition函数应该仍然执行,即使我已经给了我的权限连续三次?

最新更新