Сейчас я работаю над приложением на основе местоположения в Ionic v4. Теперь я хочу иметь возможность сбросить представление карты обратно к моему местоположению. Думаю, мне нужно снова использовать setView
, чтобы добиться этого, но я не знаю синтаксиса для этого.
Вот весь соответствующий код, который у меня есть:
домашняя.страница.html
<ion-content>
<div class = "home-button" (click) = "centerMap()">
<ion-icon name = "navigate"></ion-icon>
</div>
<div id = "map"></div>
</ion-content>
домашняя.страница.ts
centerMap() {
this.mapService.backToCenter();
}
карта.service.ts
loadmap(map) {
this.map = map;
this.map.locate({
setView: true,
maxZoom: 22,
minZoom: 12
})
.on('locationfound', e => {
const markerGroup = leaflet.featureGroup();
const marker: any = leaflet
.marker([e.latitude, e.longitude], {
icon: positionIcon,
zIndexOffset: -1000
})
.on('click', () => {
console.info('Position marker clicked');
});
markerGroup.addLayer(marker);
this.map.addLayer(markerGroup);
this.loadMarkers(this.dropService.getDrops());
});
return this.map;
}
backToCenter() {
console.info('Center Map');
}
Есть ли способ вызвать новый setView
при нажатии на кнопку?
Вы можете сохранить свое начальное местоположение и уровень масштабирования в переменных и использовать метод map.setView, чтобы вернуться к исходному местоположению одним нажатием кнопки.
backToCenter(){
map.setView([latitude, longitude], zoom);
}
@Brecherchef Я рад, что смог помочь.