невозможно отобразить многоугольник на карте с помощью плагина рисования Leaflet

Я пытаюсь использовать плагин рисования отсюда http://leaflet.github.io/Leaflet.draw/docs/leaflet-draw-latest.html#l-draw

и попытался использовать его локально, как показано ниже

<html>
<head>

    <title>A Leaflet map!</title>
    <link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css"/>
    <script src="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.js"></script>

    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet.draw/0.4.2/leaflet.draw.css"/>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet.draw/0.4.2/leaflet.draw.js"></script>
    <style>
        #map{ height: 100% }
    </style>
</head>
<body>

<div id="map"></div>

<script>

    var map = L.map('map').setView([51.505, -0.09], 13);
    L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
        attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
    }).addTo(map);

   var  drawControl = new L.Control.Draw({
        draw : {
            position : 'topleft',
            polygon : true,
            polyline : false,
            rectangle : true,
            circle : false

        },
        edit : false
    });

    map.addControl(drawControl);

</script>
</body>
</html>

Я получаю элемент управления рисованием и карту, но рисование многоугольника не отображается после завершения рисования, не знаю, как это сделать

Пожалуйста, помогите нарисовать многоугольник на карте, как показано в этой демонстрации.

http://leaflet.github.io/Leaflet.draw/docs/examples/full.html

person dhana lakshmi    schedule 07.12.2016    source источник


Ответы (1)


Вы должны создать группу объектов и добавить слои, когда они будут созданы ...

   var drawnItems = L.featureGroup().addTo(map);

   map.on(L.Draw.Event.CREATED, function (event) {
        var layer = event.layer;

        drawnItems.addLayer(layer);
    });

см. источник http://leaflet.github.io/Leaflet.draw/docs/examples/full.html

person YaFred    schedule 07.12.2016
comment
не могли бы вы указать на какой-нибудь пример, где я могу получить координаты нарисованного многоугольника и другие операции - person dhana lakshmi; 07.12.2016
comment
Плагин Draw создает слои, которые описаны здесь: leafletjs.com/reference.html. Итак, когда вызывается Draw.Event.CREATED, вы можете получить все значения из слоя. Например, если вы рисуете прямоугольник, это будет leafletjs.com/reference.html#rectangle - person YaFred; 07.12.2016