如何使用 Leaflet 和 OpenStreetMap 将我的地图视图重置回我在 Ionic 中的位置?
How do I reset the view of my map back to my location in Ionic with Leaflet and OpenStreetMap?
现在我正在使用 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
?
您可以将初始位置和缩放级别存储在变量中,并使用 map.setView 方法在单击按钮时返回到初始位置。
backToCenter(){
map.setView([latitude, longitude], zoom);
}
现在我正在使用 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
?
您可以将初始位置和缩放级别存储在变量中,并使用 map.setView 方法在单击按钮时返回到初始位置。
backToCenter(){
map.setView([latitude, longitude], zoom);
}