Mapbox 中的可编辑多边形
Editable Polygons in Mapbox
我正在使用 mapbox-gl-js 库尝试实现一个功能,用户可以在其中将多边形添加到 mapbox 地图并根据需要进行编辑。我已经能够通过添加图层将多边形添加到地图,但我不知道如何允许用户编辑它们。有没有一种简单的方法可以将多边形添加到 mapbox 并更改它们是否可编辑?
您正在寻找 mapbox-gl-draw
plugin. You can see a demo here。
加载地图后,您可以添加要素(点、线、多边形)
示例:
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v9'
});
var draw = new MapboxDraw();
map.addControl(draw);
map.on('load', function () {
var feature = {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
49.62524414062499,
31.653381399664
],
[
55.458984375,
31.653381399664
],
[
55.458984375,
35.28150065789119
],
[
49.62524414062499,
35.28150065789119
],
[
49.62524414062499,
31.653381399664
]
]
]
}
}
]
};
var featureIds = draw.add(feature);
});
我正在使用 mapbox-gl-js 库尝试实现一个功能,用户可以在其中将多边形添加到 mapbox 地图并根据需要进行编辑。我已经能够通过添加图层将多边形添加到地图,但我不知道如何允许用户编辑它们。有没有一种简单的方法可以将多边形添加到 mapbox 并更改它们是否可编辑?
您正在寻找 mapbox-gl-draw
plugin. You can see a demo here。
加载地图后,您可以添加要素(点、线、多边形)
示例:
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v9'
});
var draw = new MapboxDraw();
map.addControl(draw);
map.on('load', function () {
var feature = {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
49.62524414062499,
31.653381399664
],
[
55.458984375,
31.653381399664
],
[
55.458984375,
35.28150065789119
],
[
49.62524414062499,
35.28150065789119
],
[
49.62524414062499,
31.653381399664
]
]
]
}
}
]
};
var featureIds = draw.add(feature);
});