Leaflet.draw ошибка круга: невозможно прочитать свойство 'length' со значением NULL - PullRequest
1 голос
/ 06 ноября 2019

Я использую leaflet.draw для создания фигур (геозоны) на карте, и когда я рисую круг, я получаю эту ошибку Uncaught TypeError: Невозможно прочитать свойство 'length' с нулевым значением , так как кругне имеет длины, и я также получаю эту ошибку, когда я помещаю editable: true в shapeOptions:

$("#mapContainer").on("click", ".btnCircleDraw",function(){
        circleDrawer = new L.Draw.Circle(map, {

            shapeOptions: {
                color: color,
                fillOpacity: opacity,
                fillColor: color,
                stroke: color,
                opacity: opacity,
                editable: true
            }
        });     
    map.on('draw:created', drawCreated);
    circleDrawer.enable();

    });

У меня есть эта функция drawCreated:

function drawCreated(e) {
        type = e.layerType,
        layer = e.layer;
        layer.addTo(drawnItems);
        console.log(type, ' drawn', layer);

        layer.on("edit", function(event) {
            var content = "";
            if (type === "circle") {
                //content = 'Circle with : <ul><li> Radius : ' + layer.getRadius() + '</li>'+
                //'<li> Center : ' + layer.getLatLng() + ' </li></ul>';
                var lngLat = layer.getLatLng();
                console.log("new: ", lngLat);
            }
        });

        if (type === 'circle') {
            var theCenterPt = layer.getLatLng();

            var theRadius = layer.getRadius();

            points['lng'] = theCenterPt.lng;
            points['lat'] = theCenterPt.lat;
            points['radius'] = theRadius;

            console.log(points);

            drawnItems.addLayer(layer);

        }
}

есть ли решение или альтернатива для этой проблемы?

...