Edison_ForMan 2015-12-11 03:19 采纳率: 0%
浏览 886

UIWebView无法调用geolocation定位

webkit调用h5定位,无法获取位置。
做了以下的测试,发现结果为"case1",,很纳闷,,如果把iphone中隐私->定位 关掉,,则输出为"case3",,error.PERMISSION_DENIED=1

function getLocation()
{
if (navigator.geolocation) //
{
alert("case1");
navigator.geolocation.getCurrentPosition(showPosition,showError);
}
else{x.innerHTML="Geolocation is not supported by this browser.";}
}
function showPosition(position)
{
alert("case2");
}
function showError(error)
{
alert("case3");
}

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-05 00:02
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这个问题可能是因为您的浏览器不支持navigator.geolocation API。在某些情况下,这可能是由于设备的兼容性问题或者浏览器版本的问题。

    您可以尝试以下方法来解决:

    1. 重新加载页面:有时候,只是刷新一下网页就可以解决问题。
    2. 使用其他库:例如window.location.href = "http://ip-api.com/json";,这将返回您当前位置的信息。
    3. 检查设备的兼容性:确保您的设备是最新版本,并且已经安装了最新的浏览器插件。
    4. 调整浏览器设置:如果您的浏览器没有提供地理定位功能,请考虑更换到其他浏览器或使用模拟器进行测试。

    如果您想让Web View能够调用navigator.geolocation API,那么可能需要修改HTML代码或者使用一些第三方库来实现这个功能。但是请注意,这可能会导致用户体验不佳,因为用户会看到一个错误的消息框提示他们需要打开定位权限。因此,在大多数情况下,最好避免直接从JavaScript调用navigator.geolocation,而是通过API或第三方库来获取地理位置信息。

    评论

报告相同问题?