Я загружаю Geo Django GeometryCollection из записи базы данных и помещаю их в featureGroup (), используя L.geo JSON (). Когда я пытаюсь редактировать или удалять отдельные слои, это не работает, и нет сообщения об ошибке. Однако, когда я использую кнопку «Очистить все слои», она удаляет все слои успешно. Есть ли где-то, что я должен посмотреть, чтобы выяснить это?
ОБНОВЛЕНИЕ : Я заметил сообщение об ошибке при редактировании, показанное ниже. Удаление (значок tra sh) по-прежнему не работает или не выдает сообщение об ошибке, когда я пытаюсь удалить элементы, размещенные при загрузке страницы.
Uncaught TypeError: Cannot read property 'enable' of undefined
at i._enableLayerEdit (leaflet.draw.js:formatted:2204)
at i.eachLayer (leaflet.js:5)
at i.addHooks (leaflet.draw.js:formatted:2131)
at i.enable (leaflet.js:5)
at i.enable (leaflet.draw.js:formatted:2115)
at HTMLAnchorElement.s (leaflet.js:5)
Использование Leaflet Draw 1.0.4 (Leaflet 1.6.0)
<script>
var mymap = L.map('mapid').setView([39.828, -98.579], 4),
layer = L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {
attribution: 'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
maxZoom: 18,
id: 'mapbox/streets-v11',
tileSize: 512,
zoomOffset: -1,
accessToken: '<my token>'
}),
drawnItems = L.featureGroup().addTo(mymap);
L.control.layers({
'layer': layer.addTo(mymap),
},
{
'drawLayer': drawnItems
}).addTo(mymap);
{% if coords %}
var geos = {% autoescape off %}{{coords}}['geometries']{% endautoescape %}
$(geos).each(function() {
L.geoJSON(this).addTo(drawnItems);
})
{% endif %}
mymap.addControl(new L.Control.Draw({
edit: {
featureGroup: drawnItems,
remove: true,
poly: {
allowIntersection: false
},
},
draw: {
polyline: false,
circle: false,
circlemarker: false,
polygon: {
allowIntersection: false
}
}
})
);
</script>