javascript - 由多段线组成的拖放几何图形
问题描述
我有一个由折线组成的几何图形。我需要为此几何创建拖放功能。这如何最好地实施?
我创建了一个点击监听器,并在每次新点击时重新计算所有折线相对于点击位置的坐标。但我想实现拖放。也许 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]));
});
解决方案
Arcgis 有一个SketchViewModel小部件,可让您在添加到地图后加载和编辑图形。
我们可以在编辑后保存图形,使用方法sketchViewModel
sketchViewModel.on("update", () =>{
localStorage.setItem('features', geometryGraphics.toJSON())
})
例如。
推荐阅读
- assembly - 链接描述文件有问题(未定义对“puts”的引用)
- javascript - JavaScript 克隆一个内部有循环的元素
- javascript - 隐藏基于使用纯 JavaScript 的类的 href 元素在 Chrome 中不起作用
- javascript - RXJS - 如何订阅多次
- sql - SQL Server - 检索编码错误的数据
- java - 如何使用 Spring Boot 在 Spring Security 中动态更改 client_secret
- ios - 当 FirebaseDeepLinkAutomaticRetrievalEnabled 设置为 NO 时如何手动检索待处理的 Firebase 动态链接
- bash - 比较具有多列的 2 个文件 | 壳
- laravel - Laravel Nova 中的自引用多对多关系
- c++ - C++ 与线程并行处理向量的每个元素