【发布时间】:2016-04-08 04:41:34
【问题描述】:
假设我有一个已添加到传单的 geojson 框。如何允许用户“单击并拖动框”到新位置,从而自动更新所有坐标?我知道如何使用传单编辑来编辑构成形状的边界/点,但不确定如何实际移动形状。
【问题讨论】:
标签: leaflet
假设我有一个已添加到传单的 geojson 框。如何允许用户“单击并拖动框”到新位置,从而自动更新所有坐标?我知道如何使用传单编辑来编辑构成形状的边界/点,但不确定如何实际移动形状。
【问题讨论】:
标签: leaflet
Leaflet Draw 有一个Leaflet.Draw.Drag plugin,可让您在进入编辑模式时移动多边形。不过,这个版本似乎有点挑剔。至少在一些快速实验中,我只能使用Leaflet Draw version 0.2.3 让它工作。如果你有一个现有的 L.GeoJson 图层,你可以简单地在绘图控件的编辑选项中将其指定为featureGroup:
var drawControl = new L.Control.Draw({
edit: {
featureGroup: yourGeoJsonLayer,
edit: {
selectedPathOptions: {
maintainColor: true,
moveMarkers: true
}
}
}
});
在selectedPathOptions 中,maintainColor 选项只会在您编辑时保留图层的现有样式,moveMarkers 选项会在多边形中间放置一个小方形标记,以提醒您可以拖动整个东西,而不仅仅是编辑顶点。
这是一个示例小提琴:
【讨论】: