angular - 如何使用 Leaflet 和 OpenStreetMap 将我的地图视图重置回我在 Ionic 中的位置?
问题描述
现在我正在 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();
}
地图服务.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);
}
推荐阅读
- python - 从python将带有微秒的日期时间插入SQL Server
- angular - RewritePatternRule for jetty in karaf(使角度深度链接工作)
- json - 具有未知 UTF8“�”字符的 Swift 4 JSON 字符串不可转换为数据/字典
- neo4j - 路径变量绑定返回重复的节点匹配 - 为什么?
- python - Python:使用读/写方法将字典转换为对象
- sql - (Impala) 在字段中选择最常见的值会导致“选择列表中不支持子查询”
- cygwin - 找不到 Babun、tmux、cygwin 绑定命令
- java - 如何告诉 Maven 项目在目标文件夹中包含依赖项?
- java - Java:在 REST 服务中传递二维数组
- javascript - Node.js 服务器用 React.JS 覆盖了整个 DOM