#javascript #leaflet #draw #leaflet-geoman
#javascript #брошюра #рисовать #брошюра-geoman
Вопрос:
У меня есть файл geojson, и я получаю его с помощью ajax. но я хочу предотвратить редактирование геометрий, которые я загружаю во время запуска. Только те, которые добавлены с leaflet.pm должно быть доступно для редактирования. Как я могу это сделать?
Я использую geojson coordinate json. эти рисунки добавляются на карту при загрузке страницы.
{pmIgnored: true} после попытки удалить режим удаления, когда я нажимаю на один из статических рисунков, которые я добавил из geojson, удаляет их все. Как я могу это предотвратить?
var geojsonData;
// addded geojson ajax
$.getJSON("geo.json", {
async: false,
}, function (data) {
geojsonData = L.geoJson(data, {
pmIgnore: true, // ignore static shaped edited
style: {
weight: 20
},
}).addTo(map);
});
что я хочу сделать, так это никоим образом не удалять статические координаты при включенном режиме удаления
Ответ №1:
Примените pmIgnore
параметр не к группе, а к каждому отдельному слою листовки. Сделайте это с помощью style
и pointToLayer
опций L.GeoJSON
, например:
geojsonData = L.geoJson(data, {
style: {
pmIgnore: true,
weight: 20
},
})
Комментарии:
1. Спасибо! Это сработало отлично. Я пытался выяснить, как добавить их к отдельному слою, и не понимал, что могу сделать это таким образом.
Ответ №2:
Я Sumit, сопровождающий leaflet.pm
Я думаю, что была ошибка, связанная с игнорированием слоев через pmIgnore: true
в режиме глобального удаления. Это должно быть исправлено в этом выпуске. Пожалуйста, протестируйте версию 2.0.3 или новее и дайте мне знать, работает ли она.
Если вы все еще сталкиваетесь с проблемами, не стесняйтесь сообщать об этом здесь с помощью JSFiddle, показывающего проблему, и я рад помочь / исправить это.
Комментарии:
1. Я не столкнулся с какими-либо проблемами в версии 2.0.3. Это работает очень хорошо.