gpt4 book ai didi

javascript - Ionic - navigator.geolocation 返回空错误对象

转载 作者:行者123 更新时间:2023-11-29 19:41:37 26 4
gpt4 key购买 nike

我正在构建一个依赖于地理定位的小型应用程序。我使用以下代码从设备获取当前位置:

var options = { maximumAge: 3000, timeout: 300000, enableHighAccuracy: true };
navigator.geolocation.watchPosition(function(result) {
console.info(result);
}, function(error) {
console.error(JSON.stringify(error));
}, options);

但是,这总是调用带有空错误对象的错误回调:

1     123317   error    {}

没有代码也没有消息,只是一个空对象。同样有趣的是,无论我将什么设置为超时,都会立即调用错误回调。

我的 AndroidManifest.xml 如下所示:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />

结果与我在模拟器中或直接在手机上运行它的天气相同。如果有人对如何解决此问题有任何想法,将不胜感激。

最佳答案

这是因为返回的错误对象是一个特殊的对象。使用 JSON.stringify 不考虑继承的属性。如果您使用的是 Chrome 或 Safari,则尤其如此。

$cordovaGeolocation
.getCurrentPosition()
.then((resp)=>{
$scope.lat = resp.coords.latitude;
$scope.lon = resp.coords.longitude;
}).catch((error)=> {
$scope.errm = error.message;
$scope.errc = error.code;
console.log(error.code+" "+error.message)
});

您可以使用此代码查看错误代码和消息。如果你想查看完整的对象,你可以使用 SO Answer 来这样做。

关于错误,有几个错误,例如需要安全来源或可能限制相同的 wifi 连接。

PS:这也适用于 Geolocation 对象。

关于javascript - Ionic - navigator.geolocation 返回空错误对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38573065/

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