Drag-n-drop геометрия, состоящая из полилиний - PullRequest
0 голосов
/ 30 октября 2019

У меня есть геометрия, которая состоит из полилиний. Мне нужно создать функцию перетаскивания для этой геометрии. Как это лучше всего реализовано?

Я создал прослушиватель щелчков и пересчитывал координаты всех полилиний в зависимости от местоположения щелчка с каждым новым щелчком. Но я хотел бы реализовать перетаскивание. Может быть, у Arcgis есть какая-то встроенная функция для этого случая?

export function newCoord(polyline, newLonLat){
    return polyline.map(i => [i[0] + newLonLat[0], i[1] + newLonLat[1]]);
}


view.on("click", function (evt) {
    const evtProps = view.toMap({x: evt.x, y: evt.y});
    geometry.forEach(i => newCoord(i, [evtProps.longitude, evtProps.latitude]));
});

1 Ответ

0 голосов
/ 13 ноября 2019

Arcgis имеет виджет SketchViewModel , который позволяет загружать и редактировать графику после добавления на карту.

И мы можем сохранить графику после редактирования, используя метод sketchViewModel

sketchViewModel.on("update",  () =>{
localStorage.setItem('features', geometryGraphics.toJSON())
})

, например.

...