现在,我正在Ionic v4中基于位置的应用程序上工作。现在,我希望能够将地图视图重设为我的位置。我想我需要再次使用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
?
答案 0 :(得分:2)
您可以将初始位置和缩放级别存储在变量中,然后单击map.setView方法返回到初始位置。
backToCenter(){
map.setView([latitude, longitude], zoom);
}