天地图编辑支持删除编辑点

截至2025年3月21日天地图4.0线编辑,只支持添加点,不支持删除编辑点,后续只能通过绑定地图事件曲线救国,虽然没有高德丝滑,但至少可以使用;

效果图

核心方法
typescript 复制代码
/* 绑定地图右键
  高德地图是鼠标双击删除,已经帮你试过了,天地图有时候会触发2次,导致线锁死;
*/
map.addEventListener('contextmenu', function(e){
     // 如果线不在编辑模式就直接退出
	if (!line.isEditable()) {
	    return;
	}
	// 禁用线编辑_不禁用启用的话,删除了点手柄还在;
	line.disableEdit();
	var curLngLats = line.getLngLats();
	var clickLngLat = [e.lnglat.lng.toFixed(2), e.lnglat.lat.toFixed(2)];
	var index = -1;
	for (let i =0;  i< curLngLats.length; i++) {
	    var tmpLngLat = [curLngLats[i].lng.toFixed(2), curLngLats[i].lat.toFixed(2)];
	    if (tmpLngLat[0] === clickLngLat[0] && tmpLngLat[1] === clickLngLat[1]) {
	        index = i;
	        break;
	    }
	}
	// 找到匹配的点删除_如果是<2就不删除这边还可以加个提示
	if (index !== -1 && curLngLats.length > 2) {
	     curLngLats.splice(index, 1);
	 };
    // 把最新的点复制给线
	line.setLngLats(curLngLats);
	// 启用线编辑
	line.enableEdit();
 })
相关推荐
你的人类朋友1 小时前
快速搭建redis环境并使用redis客户端进行连接测试
前端·redis·后端
深蓝电商API2 小时前
实战破解前端渲染:当 Requests 无法获取数据时(Selenium/Playwright 入门)
前端·python·selenium·playwright
bestcxx3 小时前
(二十七)、k8s 部署前端项目
前端·容器·kubernetes
鲸落落丶3 小时前
webpack学习
前端·学习·webpack
excel3 小时前
深入理解 3D 火焰着色器:从 Shadertoy 到 Three.js 的完整实现解析
前端
光影少年4 小时前
vue打包优化方案都有哪些?
前端·javascript·vue.js
硅谷工具人4 小时前
vue3边学边做系列(3)-路由缓存接口封装
前端·缓存·前端框架·vue
β添砖java5 小时前
CSS网格布局
前端·css·html
木易 士心7 小时前
Ref 和 Reactive 响应式原理剖析与代码实现
前端·javascript·vue.js