javascript - 传单:dragend 功能上的多个标记不起作用
问题描述
多变的:
var marker = [];
var i;
constructor(map) {
this.map2 = L.map(map);
this.polygon_layer = {};
this.default_polygon = [
[3.1377736432253345, 101.56585693359375],
[2.929326028392636, 101.6619873046875],
[3.03629758922721, 101.89544677734375],
[3.247466393872138, 101.8048095703125],
[3.1377736432253345, 101.56585693359375]
];
this.markers = {};
this.marker ={};
}
主要流程在这里
createMarkers(){
i=0;
this.default_polygon.forEach(x =>
marker[i] = this.setMarker(x)
)
}
我在每个标记上设置dragend
功能以显示每个标记的坐标。但最终在拖动后显示的其他标记坐标与创建的最后一个标记相同。当最后一个标记移动时,所有标记都跟随最后一个标记坐标。对不起我的英语不好。
setMarker(coord){
this.marker = L.marker(coord,{draggable: true})
.on('dragend', function() {
var coord = String(this.marker.getLatLng()).split(',');
var lat = coord[0].split('(');
var lng = coord[1].split(')');
this.marker.bindPopup("Moved to: " + lat[1] + ", " + lng[0] + ".");
var newCoord = [parseFloat(lng[0]),parseFloat(lat[1])]
console.log(newCoord)
},this)
.addTo(this.map2);
i++
return this.marker;
}
坐标的控制台日志
任何帮助表示感谢!想知道哪里有错...
解决方案
推荐阅读
- php - 如何在 Cartalyst/Stripe Laravel 中捕获异常并重定向到我的 on 消息?我想在 catch 块中捕获错误
- react-native - 在反应导航中管理多个导航器(堆栈导航器和底部标签导航器)
- javascript - 如何获取特定复选框的位置编号
- python - 使用 Python scrapy 时错误的图像 src url
- excel - 在word中使用vba将文本添加到excel单元格
- blazor - 在 Blazor 中滚动时延迟加载下拉项目
- date - 将纪元时间转换为时间戳颤动
- elasticsearch - ElasticSearch 查找给定单词最常用的单词
- google-app-engine - 谷歌云应用引擎错误 502 Bad Gateway 上带有 django rest 后端的 Angular 前端
- javascript - 尝试从表中获取数据时出错