Я создаю карту Google в своем приложении Ioni c, задаю координаты центра для моих координат с помощью геолокации и добавляю маркер на карту (используя те же координаты):
В настоящее время весь приведенный ниже код работает нормально:
ionViewWillEnter() {
this.anonLogin();
this.loadMap();
}
anonLogin() {
this.afAuth.auth.signInAnonymously().then(res => {
this.user = res.user;
this.watch = Geolocation.watchPosition({}, (position, err) => {
if (position) {
this.latLng = new google.maps.LatLng(position.coords.latitude, position.coords.latitude);
console.log('position change: ' + this.latLng);
this.updateMarker();
}
});
});
}
loadMap() {
Geolocation.getCurrentPosition().then((resp) => {
this.latLng = new google.maps.LatLng(resp.coords.latitude, resp.coords.longitude);
}).then(() => {
let mapOptions = {
center: this.latLng,
zoom: 15,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var marker = new google.maps.Marker({
position: this.latLng,
title: "Hello World!"
});
this.map = new google.maps.Map(this.mapElement.nativeElement, mapOptions);
marker.setMap(this.map);
}).catch((err) => {
console.log(err);
});
}
Но когда мое местоположение меняется, я хочу, чтобы маркер также перемещался вместе с моим местоположением на карте.
Вот почему я назвал this.updateMarker()
выше в часах Geolocation.
Но не похоже, что маркер обновляется в настоящее время, вот что у меня внутри updateMarker()
:
updateMarker() {
var marker = new google.maps.Marker({
position: this.latLng,
title: "Hello World!"
});
marker.setMap(this.map);
}
Может кто-нибудь сказать, почему мой маркер не обновляется, и какие изменения необходимы для этого?