我已经开始使用传单作为开源地图,http://leaflet.cloudmade.com/
以下jQuery代码将允许在地图上创建标记点击:
map.on('click', onMapClick);
function onMapClick(e) {
var marker = new L.Marker(e.latlng, {draggable:true});
map.addLayer(marker);
marker.bindPopup("<b>Hello world!</b><br />I am a popup.").openPopup();
};
Run Code Online (Sandbox Code Playgroud)
但是目前我(在我的代码中)没有办法删除现有标记,或者找到我在地图上创建的所有标记并将它们放入数组中.任何人都可以帮我理解如何做到这一点?单张文档可在此处获取:http://leaflet.cloudmade.com/reference.html
我正在尝试在我的 Angular 7 项目中实现 Leaflet,我尝试用 google 搜索解决方案,但没有任何结果是针对 AngularJS 或 Vanilla JavaScript 的。
这是我的 ts 文件:
ngAfterViewInit(): void {
//Init map & add tile
this.map = new Map('map').setView([25.1220946, 56.3342466], 13);
tileLayer('http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile/{z}/{y}/{x}').addTo(this.map);
//onClick
this.map.on("click", function(e){
//Add marker
this.myMarker = marker([e.latlng.lat, e.latlng.lng]).addTo(this.map);
// console.log();
console.log(`Your lat is : ${e.latlng.lat} and your lang : ${e.latlng.lng}`);
});
}
Run Code Online (Sandbox Code Playgroud)
仅供参考,这不是重复的,同样的问题已经有 5 年了,现在一切都不同了。