天地图监听圆是否改变

天地图4.0截至2025年3月24日还不支持编辑监听改变,但是不妨碍我们使用技术手段进行实现,达到监听半径和圆点是否改变的方法;

效果图
核心方法
typescript 复制代码
// 定义圆默认半径
var preRadius = 5000;
// 定义圆默认中心点
var circleDefCenter = {lng: 116.40093, lat: 39.90313}
// 定时器放置重复触发
var circleEditChangeTime = null;
// 地图绑定事件
map.addEventListener('touchend', function(e) {
    circleEditChange();
});

function circleEditChange() {
    // 不在编辑状态就不处理
	if (!circle.isEditable()) {return;}
    if (circleEditChangeTime) {
        clearTimeout(circleEditChangeTime)
        circleEditChangeTime = null;
    }
    circleEditChangeTime = setTimeout(function() {
        /*  禁用: 业务不让改变中心点
  			【天地图Bug】改变中心点后, 重置到默认编辑手柄不会归位;
        */
        circle.disableEdit();
        var curCenter = circle.getCenter();
        var curRadius = circle.getRadius();
        // 中心点改变了
        if (curCenter.lng !== circleDefCenter.lng || curCenter.lat !== circleDefCenter.lat) {
            circle.setCenter(new T.LngLat(116.40093, 39.90313));
            console.log('中心点改变了');
        }
        // 表示半径改变了
        if (curRadius !== preRadius) {
            preRadius = curRadius;
            console.log('半径改变了', curRadius);
        }
        // 启用编辑
        circle.enableEdit();
    }, 200);
};
使用
typescript 复制代码
circle = new T.Circle(new T.LngLat(116.40093, 39.90313), 5000,{color:"blue",weight:5,opacity:0.5,fillColor:"#FFFFFF",fillOpacity:0.5,lineStyle:"solid"});
map.addEventListener('touchend', function(e) {
	circleEditChange();
});
其它方法
typescript 复制代码
// 判断经纬度是否在圆形范围内 is: boolean;
var is = circle.getBounds().contains(new T.LngLat(116.40093, 39.90313));
相关推荐
Hooray23 分钟前
为了在 Vue 项目里用上想要的 React 组件,我写了这个 skill
前端·ai编程
咸鱼翻身了么25 分钟前
模仿ai数据流 开箱即用
前端
风花雪月_25 分钟前
🔥IntersectionObserver:前端性能优化的“隐形监工”
前端
Bigger25 分钟前
告别 AI 塑料感:我是如何用 frontend-design skill 重塑项目官网的
前端·ai编程·trae
发际线向北25 分钟前
0x02 Android DI 框架解析之Hilt
前端
zhensherlock39 分钟前
Protocol Launcher 系列:Overcast 一键订阅播客
前端·javascript·typescript·node.js·自动化·github·js
liangdabiao1 小时前
开源AI拼豆大升级 - 一键部署cloudflare page - 全免费 web和小程序
前端·人工智能·小程序
SuperHeroWu71 小时前
【鸿蒙基础入门】概念理解和学习方法论说明
前端·学习·华为·开源·harmonyos·鸿蒙·移动端
Full Stack Developme2 小时前
MyBatis-Plus 流式查询教程
前端·python·mybatis
用户412467508372 小时前
用 Locust 压测一个网站,记录一下学习过程
前端