gpt4 book ai didi

javascript - navigator.geolocation.getCurrentPosition 在 chrome 和 firefox 中总是失败

转载 作者:技术小花猫 更新时间:2023-10-29 12:45:35 25 4
gpt4 key购买 nike

当我尝试测试我的时,我遇到了奇怪的行为“navigator.geolocation.getCurrentPosition”网页。这是我的测试结果及代码:

我的代码:

function detectLocation() 
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(geocodePosition, onError, { timeout: 30000 });
navigator.geolocation.watchPosition(watchGeocodePosition);
}
else
{
onError();
}
}

此函数在调用“body”onload 事件时运行。我曾尝试将超时更改为 10000 和 20000,但我仍然得到相同的结果。我还允许 crome 和 firefox 获取我的位置。

结果:

  1. 使用 chrome (v 17.0.963.79 m),结果总是转到 onError调用 navigator.geolocation.getCurrentPosition 时的函数。
  2. 使用 Firefox (v 10.0.2),结果总是转到 onError 函数当 navigator.geolocation.getCurrentPosition 被调用时。
  3. 使用 IE (v 9),结果非常好,我得到了我的当前位置。

在这种奇怪的情况下,有人可以帮助我吗?我真的不知道要解决这个问题,而且我在项目截止日期前很匆忙。之前谢谢。

编辑:这几天我取得了一些进展,错误代码代码为 2,消息 “网络位置提供商位于‘https://maps.googleapis.com/maps/api/browserlocation/json?browser=chromium&sensor=true ':响应格式错误”。仍然没有解决,有谁知道如何解决这个问题?

最佳答案

我模拟了这个问题,发现只有当 html 页面托管在网络服务器上时才会调用成功回调函数,而不是从文件系统打开时。

为了测试,我直接从我的 C: 驱动器打开文件,但回调不起作用,然后将文件托管在 Internet 信息服务 (IIS) 上,并且回调起作用。

<html>
<body onload="detectLocation()">
<!-- This html must be hosted on a server for navigator.geolocation callbacks to work -->

<div id="status"></div>

<script type="text/javascript">
function detectLocation()
{
log("detectLocation() starting");
if (navigator.geolocation)
{
log("navigator.geolocation is supported");
navigator.geolocation.getCurrentPosition(geocodePosition, onError, { timeout: 30000 });
navigator.geolocation.watchPosition(watchGeocodePosition);
}
else
{
log("navigator.geolocation not supported");
}
}
function geocodePosition(){
log("geocodePosition() starting");
}

function watchGeocodePosition(){
log("watchGeocodePosition() starting");
}

function onError(error){
log("error " + error.code);
}
function log(msg){
document.getElementById("status").innerHTML = new Date() + " :: " + msg + "<br/>" + document.getElementById("status").innerHTML;
}
</script>
</body>
</html>

关于javascript - navigator.geolocation.getCurrentPosition 在 chrome 和 firefox 中总是失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9731963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com