我在Geolocation
设备上使用Android
时遇到问题。
我创建一个Ionic 3
应用程序。
我使用Geolocation
([https://ionicframework.com/docs/native/geolocation/ 13])。
我使用那里提供的示例代码。
问题在于,该代码可在浏览器中使用,但是每当我将其上传到Android
设备上时,它都将无法正常工作。
当我在设备上启动应用程序时,系统会提示位置许可警报。 我按允许。 然后在android托盘中出现一个图标,显示“正在搜索GPS”。 超时到期后,我收到超时错误,并且没有位置。
奇怪的想法是这样的:
如果我关闭我的应用程序,则打开google maps
(或其他使用gps
位置的应用程序)并重新打开我的应用程序。
我不知道该怎么办。
权限很好:
一切都已正确安装。
有人可以帮忙吗?
答案 0 :(得分:1)
我明白了,实际上我必须像这样通过apikey传递
<script src="http://maps.googleapis.com/maps/api/js?key=YOUR_KEY"></script>
在索引页面
没有此键有时会起作用,但每次都不确定。
注意:仅当您拥有有效的Gmail A / C(通过提供DOB /信用卡号)时,才会生成此密钥,尽管它是免费的。
答案 1 :(得分:0)
尝试一下,它应该可以工作
ionic cordova run android --prod
-产品使生产构建apk
答案 2 :(得分:0)
从“ @ ionic-native / location-accuracy”导入{LocationAccuracy};
声明var导航器 以上 @Component
watchPosition(){
this.locationAccuracy.request(this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(
() => {
var options = {
timeout: 500,
maximumAge: Infinity
};
this.watch = navigator.geolocation.watchPosition((data) => {
let latlng: LatLng = new LatLng(data.coords.latitude, data.coords.longitude);
}, (error) => {
console.log("error watch", error)
}, options);
}
}, error => {
alert('Error requesting location permissions' + JSON.stringify(error))
});
}
}