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