我目前正在使用离子3的原生地理位置
import { Geolocation } from '@ionic-native/geolocation';
要获得用户的位置,请执行以下操作:
this.geolocation.getCurrentPosition().then((resp) => {
this.lat = resp.coords.latitude;
this.lng = resp.coords.longitude;
}).catch((error) => {
console.log('Error getting location', error);
});
现在我的问题是我的准确度非常低,这意味着我的位置偏离了至少300米。
如果我尝试打开谷歌地图应用程序,我的位置是完全正确的,那么当我尝试计算它时,我的应用程序再次错误。
有什么建议吗?
答案 0 :(得分:0)
首先确保您拥有所需的所有权限。您可以使用cordova诊断插件来创建运行时权限,检查位置是否已启用,如果已禁用,则连接到位置设置等等。
其次,您可以在getCurrentPosition函数中传递具有highAccuracy(= GPS)的选项:
let options = {
enableHighAccuracy: true,
timeout: 30000,
maximumAge: 60000
};
this.geolocation.getCurrentPosition(options)
答案 1 :(得分:-1)
使用构造函数private geoloc: Geolocation
this.geoloc.getCurrentPosition().then((resp) => {
var myLocation= new google.maps.LatLng(resp.coords.latitude, resp.coords.longitude);
}).catch((error) => {
console.log('Error getting location', error);
});
使用myLocation