ionic 3地理位置第二次不起作用

时间:2018-10-03 11:24:32

标签: android ionic3

我在Geolocation设备上使用Android时遇到问题。

我创建一个Ionic 3应用程序。 我使用Geolocation([https://ionicframework.com/docs/native/geolocation/ 13])。 我使用那里提供的示例代码。 问题在于,该代码可在浏览器中使用,但是每当我将其上传到Android设备上时,它都将无法正常工作。

当我在设备上启动应用程序时,系统会提示位置许可警报。 我按允许。 然后在android托盘中出现一个图标,显示“正在搜索GPS”。 超时到期后,我收到超时错误,并且没有位置。

奇怪的想法是这样的: 如果我关闭我的应用程序,则打开google maps(或其他使用gps位置的应用程序)并重新打开我的应用程序。

我不知道该怎么办。

权限很好:

一切都已正确安装。

有人可以帮忙吗?

3 个答案:

答案 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))
        }); 
}

}