现在我正在 Ionic v4 中开发一个基于位置的应用程序。现在我希望能够将 map View 重置回我的位置。我想我需要再次使用 setView
来实现此目的,但我不知道执行此操作的语法。
这是我迄今为止得到的所有相关代码:
home.page.html
<ion-content>
<div class="home-button" (click)="centerMap()">
<ion-icon name="navigate"></ion-icon>
</div>
<div id="map"></div>
</ion-content>
home.page.ts
centerMap() {
this.mapService.backToCenter();
}
map.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.log('Position marker clicked');
});
markerGroup.addLayer(marker);
this.map.addLayer(markerGroup);
this.loadMarkers(this.dropService.getDrops());
});
return this.map;
}
backToCenter() {
console.log('Center Map');
}
有没有办法在点击按钮时触发新的setView
?
最佳答案
您可以将初始位置和缩放级别存储在变量中,并使用 map.setView 方法在单击按钮时返回到初始位置。
backToCenter(){
map.setView([latitude, longitude], zoom);
}
关于angular - 如何使用 Leaflet 和 OpenStreetMap 将 map View 重置回 Ionic 中的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56322739/