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);

 });