我正在努力将标记添加到我的google-map中,并使用来自watchPosition()方法的实时位置数据。当我使用getCurrentPosition()方法时,一切正常。但是用这种方法我无法解决这个问题。所以一般来说,我想创建具有用户实时位置的标记,并根据用户的移动方式在地图中更改该标记的位置。 谢谢你的回复!
这是我的代码:
constructor(public navCtrl: NavController, public location: Geolocation) {}
ionViewDidEnter() {
this.loadMap();
}
loadMap() {
this.location.getCurrentPosition().then(
position => {
let latLng = new google.maps.LatLng(
position.coords.latitude,
position.coords.longitude
);
let mapOptions = {
center: latLng,
zoom: 15
};
this.map = new google.maps.Map(
this.mapElement.nativeElement,
mapOptions
);
this.getPosition();
console.log(this.map);
},
err => {
console.log(err);
}
);
}
getPosition() {
this.location.watchPosition().subscribe(
(pos: Geoposition) => {
this.currentPos = pos;
console.log(pos);
this.addMainMarker(pos);
},
err => {
console.log(err);
}
);
}
addMainMarker(markerPos) {
new google.maps.Marker({
map: this.map,
position: markerPos
});
}
}