Iphone HTML5地理定位总是返回一个错误



我试图在Iphone上使用html5地理定位,但它总是返回一个错误。

var win=函数(位置){alert(‘一切都好!’+位置)};
var fail=函数(e){alert('Can\not retrieve position.\n错误:'+e)};
navigator.geolocation.getCurrentPosition(获胜,失败);

我在IOS模拟器和我的设备上测试,但不起作用。在Safari上,我可以使用无线互联网连接(??)来获取我的位置。

有办法做到这一点吗

确保设备上的定位服务已为Safari打开。转到设置>隐私>位置服务>Safari并确保其设置为ON

然后试试这个代码:

function doGPS()
{
    try{
        //position request
        navigator.geolocation.getCurrentPosition( function (position) { 
        alert(position.coords.latitude);
        alert(position.coords.longitude);
        });
    }
    catch(evt)
    {
        alert(evt.message);
    }
}

我使用过appMobi的js,如果我在iPhone上的Safari中重新加载网站,它会很好地工作。然而,主屏幕书签应用程序并不能做到这一点(即使我在网络应用程序上为新版本添加书签)。

新的js加载到带书签的应用程序中很好(每次更新代码时,我都会添加一条带有新提示的弹出消息,只是为了确保网络应用程序正在加载新js),如果我想允许网站进行检查,iPhone会提示我,但当我同意时,什么也没发生。而在Safari中,它显示lat/long。

有人有类似的问题吗?

UPDATE:它有效,但只有当你第一次加载页面时——第二次加载时,它会显示"start",但不会显示lat/long。。。

if (navigator.geolocation) {
  alert('Geolocation is supported!');
}
else {
  alert('Geolocation is not supported for this Browser/OS version yet.');
}
try{
    //position request
   alert('start');
    navigator.geolocation.getCurrentPosition( function (position) { 
    alert(position.coords.latitude);
    alert(position.coords.longitude);
    });
}
catch(evt)
{
    alert('fail'+evt.message);
}

相关内容

  • 没有找到相关文章

最新更新