Как показать несколько нарисованных полигонов в Mapbox - PullRequest
0 голосов
/ 23 января 2020

Я хочу сделать интерактивную карту, где можно использовать полигон (область) и сохранить его. Пользователь должен иметь возможность видеть все созданные области. Поэтому мне нужно отрисовать мультиполигон с координатами, заданными сервером, а также позволить пользователю добавить больше.

Это мой код:

var map = new mapboxgl.Map({
    container: 'map',
    style: 'mapbox://styles/mapbox/streets-v11',
    center: coords,
});
var draw = new MapboxDraw({
    displayControlsDefault: false,
    controls: {
        polygon: true,
        trash: true
    }
});

map.addControl(draw);

map.on('load', function () {
    var multiPolygon = turf.multiPolygon([[pol1],[pol2],[pol3]]);
    // How to render multiPolygon??
});

map.on('draw.create', function (e) {
    const coords = e.features[0].geometry.coordinates;

    // Here save the coords as a new polygon
});

Но я не могу чтобы этот код работал! Может кто-нибудь помочь мне, пожалуйста?

1 Ответ

0 голосов
/ 27 января 2020

Наконец, я сделал это, добавив каждый полигон индивидуально:

// I get areas var from server, which is an array of coordinates
map.on('load', function () {
    map.resize();
    if (areas.length) {
        areas.forEach(area => draw.add(turf.polygon(area.polygon, { id_area: area.id_area, name: area.name })));
    }
});
...