我的Android应用中需要准确的GPS定位。我正在使用此Cordova插件来实现GPS位置:https://github.com/pmwisdom/cordova-background-geolocation-services
这是请求GPS位置的代码:
if (locationClientAPI == null) {
connectToPlayAPI();
} else if (locationClientAPI.isConnected()) {
locationRequest = LocationRequest.create()
.setPriority(translateDesiredAccuracy(LocationRequest.PRIORITY_HIGH_ACCURACY))
.setFastestInterval(4000)
.setInterval(5000)
.setSmallestDisplacement(0);
LocationServices.FusedLocationApi.requestLocationUpdates(locationClientAPI, locationRequest, locationUpdatePI);
this.isRecording = true;
if(isDebugging) {
Log.d(TAG, "- Recorder attached - start recording location updates");
}
} else {
locationClientAPI.connect();
}
它适用于许多Android手机,但在一些(例如三星Galaxy S8)上,准确性非常糟糕。通常500-1500米,这是完全无法使用的应用程序。我还观察到,如果我同时打开谷歌地图,那里的位置也到处都是,直到我开始路线指南 - 然后它几乎立刻变成了现场。如果我使用我的应用程序,当路线指南打开时,一切都非常准确和好。
在Android设置中,我的应用可以使用最高的GPS准确度。
如何在不必在谷歌地图中启用路线指导的情况下实现高精度。
答案 0 :(得分:0)
这个怎么样?
var option = {
enableHighAccuracy: true // use GPS as much as possible
};
plugin.google.maps.LocationService.getMyLocation(option, function(location) {
var text = ["Current your location:\n",
"latitude:" + location.latLng.lat.toFixed(3),
"longitude:" + location.latLng.lng.toFixed(3),
"speed:" + location.speed,
"time:" + location.time,
"bearing:" + location.bearing].join("\n");
alert(text);
});