如何在离子应用中添加实时位置跟踪

时间:2017-04-22 04:46:14

标签: javascript google-maps-api-3 ionic-framework frameworks

我想将像gmap导航这样的功能添加到离子混合应用程序中,比如蓝点指针。以前我使用geolocation API但是当我改变我的位置时,位置不会改变(我看起来是静态的)。我想添加像谷歌地图一样的实时位置跟踪。任何人都可以建议我正确的方式吗?

3 个答案:

答案 0 :(得分:2)

使用 watchPosition 并在地图上更改标记。类似的东西:

var myMarker = null;

// get current position
navigator.geolocation.getCurrentPosition(showPosition);

// show current position on map
function showPosition(position) {
   myMarker = new google.maps.Marker({
      position: new google.maps.LatLng(position.coords.latitude, position.coords.longitude),
      map: new google.maps.Map(document.getElementById("map")),
      icon: 'img/icons/myicon.png'
  });
}

// watch user's position
navigator.geolocation.watchPosition(watchSuccess, watchError, watchOptions);

// change marker location everytime position is updated
function watchSuccess(position) {
    var latLng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
    // set marker position
    marker.setPosition(latLng);
}

您还可以使用$ cordovaGeolocation插件。看一下插件文档。

getCurrentPosition 返回地理位置的当前位置

每次更改时,

watchPosition 都会返回当前位置。因此,使用此功能,您可以使用 setPosition 每次更改地图上的标记,并将坐标传递给它。

答案 1 :(得分:0)

您只需向您的map媒体资源申请本地方法setMyLocationEnabled(true)

参见我的例子:

  
    

let element:HTMLElement = document.getElementById('map');
    this.map = this.googleMaps.create(element);
    this.map.setMyLocationEnabled(真);

  

最后一行将激活本机当前位置标记。

答案 2 :(得分:0)

在我的情况下,它找不到watchSuccess,watchError,watchOptions这里是我的代码



$date = Carbon::now();// will get you the current date, time 

dd($date->format("Y-M-D H:m")); //this will dump the date time in the desired format