科尔多瓦地理位置错误的坐标

时间:2017-03-18 20:30:42

标签: cordova google-maps ionic-framework geolocation

我正在编写一个跟踪当前位置的应用程序,并使用google.maps.Polyline绘制它。 问题是即使停止,当前位置也会发生变化。走路时也会发生这种情况。像这样:

enter image description here

这是代码:

var watchOptions = { timeout: 1000, enableHighAccuracy: false // get the same behaviour with 'true' };

var track = []; // coordinates to draw with Polyline

watch = $cordovaGeolocation.watchPosition(watchOptions);

changeMarker(myMarker, latLng);

watch.then(
  null,
  function(err) {
    console.log(err);
  },
  function(position) {
    var latLng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);

    // push current position to array
    track.push({ lat: position.coords.latitude, lng: position.coords.longitude});

var trackPath = new google.maps.Polyline({
      path: track,  // pass coordinates
      strokeColor: "#2980b9",
      geodesic: true,
      strokeOpacity: 1.0,
      strokeWeight: 2
    });

    // draw on map
    trackPath.setMap($scope.map);

1 个答案:

答案 0 :(得分:0)

首先,设置enableHighAccuracy: false将使用低精度网络三角测量,而不是enableHighAccuracy: true将使用GPS硬件。对于导航(例如步行),您应始终将其设置为true。

即使这样,GPS位置也不准确,会有一些错误 - 多少取决于许多因素,例如设备中的GPS硬件,天空的任何遮挡(例如树木,建筑物)以及卫星有多少被锁定了。

为了能够经常提供高精度的位置,我建议设置如下:

{
  enableHighAccuracy: true,
  maxAge: 0,
  timeout: 30000
}