Я работаю над приложением карты Leaflet, которое позволяет пользователям рисовать слои-фигуры и загружать слои-фигуры из серверной части. Пользователи могут добавлять, редактировать и удалять слои фигур по своему желанию.
Проблема возникает, когда я хочу обеспечить совместимость между нарисованным и загруженным слоями. Нарисованные слои создаются как полигональные векторные слои. С другой стороны, загруженные слои создаются как слои Geojson Leaflet.
Оба типа слоев имеют очень разную структуру данных. Таким образом, возникают проблемы совместимости при получении данных и редактировании слоев. Например, инструмент Leaflet.Edit может легко редактировать полигональные векторные слои, но перестает отвечать, когда на карте есть слои Geojson.
Кроме того, элементы формы можно легко получить в многоугольных векторных слоях, обычно с верхнего уровня.
{
/** some other entries **/
"feature":{
"properties":{
"Name":"rectangle-9d3jtxlr99",
"Description":"",
"Tag":"",
"id":"rectangle-9d3jtxlr99"
}
}
}
С другой стороны, для слоев geojson получить элементы формы гораздо сложнее.
{
"_layers":{
"2998":{
/** other stuff **/
"feature":{
"properties":{
"Name":"rectangle-xugcym9x4i",
"Description":"",
"Tag":"",
"id":"rectangle-xugcym9x4i"
},
"geometry":{
"type":"Polygon",
"coordinates":[
/** list of coordinates **/
]
},
"type":"Feature"
},
}
},
}
Я думаю, что преобразование слоев Geojson в полигональные векторные слои потенциально решит эту проблему. Существуют ли сторонние плагины Leaflet, которые конвертируют слои Geojson в полигональные векторные слои?