请不要将其标记为重复的问题,因为在我的情况下,我所看到的各种情况和许多建议都失败了。这是非常累人和令人沮丧的。
我有一个使用Ionic制作的应用程序,需要使用Geolocation。我遵循了离子文件,它在浏览器中很好用。但是在Android上,不是!从我的角度来看,这是荒谬的,因为这样的基本功能不适用于像Ionic这样的广泛框架。撇开投诉,这是我的代码:
getLocation() {
return new Promise((resolve, reject) => {
var options = {
enableHighAccuracy: true,
maximumAge: 0
};
this.geolocation.getCurrentPosition(options).then((resp) => {
resolve(resp.coords);
}).catch(() => {
resolve(undefined);
});
});
}
问题是,当我在Android上安装应用程序时,上面的例程不会返回,也不会在CATCH中返回,这与许多其他开发人员的抱怨完全相同。但是,正如我提到的,各种技巧都行不通。
有人可以帮我解决这个问题吗?甚至建议另一种方式?我已经尝试过导航器,纯JavaScript等。在所有这些方面,我都无法解决此问题。
答案 0 :(得分:0)
尝试将timeout
添加到GeolocationOptions
。
let options = {
enableHighAccuracy: true,
timeout: 20000
};