javascript - 改变L.layerGroup中L.Marker的坐标

标签 javascript leaflet

我找不到如何更改放置在layerGroup中的图层(L.Marker)坐标的方法。
我创建了全局变量 var markerGroup = new L.layerGroup();

然后我有一个函数可以创建图层,例如:

var newMarker = L.marker([decimal_lat, decimal_lon]);
markerGroup.addLayer( newMarker );

我有一个模式对话框窗口,我在其中更改标记的坐标(取决于我更改的图层中的标记的 ID):

(markerGroup.getLayer(id)).setLatLngs( L.latLng(parseFloat(lat_p), parseFloat(lon_p)) );

但是这个解决方案会产生如下错误:

Cannot read property 'setLatLngs' of undefined

有什么方法可以改变L.layerGroup中特定位置上L.Marker的坐标吗?

最佳答案

标记层没有 setlatLngs 方法,但它们有 setLatLng 。您很可能犯了一个拼写错误。

这是fiddle我已经正确重现了您的问题。首先,我添加了一个具有任意坐标的标记,然后将其移动到 map 的中心,正是设置 map View 的位置。

var markerGroup = new L.layerGroup();
var newMarker =  L.marker([1000, 1000]);
markerGroup.addLayer( newMarker );
markerGroup.addTo(map);   
markerGroup.getLayer(24).setLatLng(new L.LatLng(0,0));

关于javascript - 改变L.layerGroup中L.Marker的坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35829195/

相关文章:

javascript - jQuery 的神秘情况还是我瞎了眼?

css - 在运行时将 css 类添加到传单层

html - 将传单输出保存为 html

javascript - JSONP 格式必须是完美的吗?见例子

javascript - Ember 如何更新 NPM 包 clean-css

javascript - 传单坐标包装

javascript - 作为标记添加的传单路由机路径点

d3.js - 用d3和Leaflet实现动画缩放

javascript - 在按钮的 onclick 事件上将字符串传递给 JavaScript 函数

javascript - 在 ASP.NET MVC 中使用 HtmlHelper 构造 URL