高德地图开发智慧社区网格化数据格式产生的无法单击事件的解决方案

简介: 高德地图开发智慧社区网格化数据格式产生的无法单击事件的解决方案


在使用高德地图卫星图,由于默认使用了 v1.4.15版本,导致3D罗盘无法靠左,切换成v2.0版的,又导致网格鼠标高亮和单击事件失效。经过和官方版本的多次比较,经验如下:


高德地图版本

  • v1.4.15
<script src="https://webapi.amap.com/maps?v=1.4.15&key=ca11d9894383ee611ed5c6696**"></script>
  • v2.0
<script src="https://webapi.amap.com/maps?v=2.0&key=ca11d9894383ee611ed5c6696e1df**"></script>
    //ajax对接数据库接口标准数据;
    var data = [
        {
            name: "网格A",
            lnglat: "121.546266,29.80975;121.54543,29.806845;121.548713,29.806752;121.549957,29.809508"
        },
        {
            name: "网格B",
            lnglat: "121.550105,29.809447;121.550082,29.809297;121.549287,29.806895;121.549081,29.806638;121.552093,29.806277;121.552823,29.809133"
        },
        {
            name: "网格C",
            lnglat: "121.547453,29.80072;121.547919,29.80024;121.552966,29.799516;121.554676,29.805661;121.549011,29.806204"
        },
        {
            name: "网格D",
            lnglat: "121.553224,29.799561;121.554952,29.805673;121.559322,29.804624;121.55722,29.799169;121.556983,29.798981;121.556405,29.798981;121.555282,29.799298"
        }
    ]


网格区域划分

    //网格区域划分;
    for (var i = 0; i < data.length; i++) {
        var p = data[i].lnglat.split(";")
        var path = [];
        for (var n = 0; n < p.length; n++) {
            path.push([Number(p[n].split(",")[0]), Number(p[n].split(",")[1])])
        }
        //多边形覆盖物加载;
        getPolygon(path, i);
    }


划分多边形

  //划分多边形;
    function getPolygon(path, m) {
        var polygon = new AMap.Polygon({
            path: path,
            strokeColor: colors[m],
            strokeWeight: 2,
            strokeStyle: 'dashed',
            strokeOpacity: 1,
            fillOpacity: 0.5,
            cursor: 'pointer',
            fillColor: colors[m],
            zIndex: 9999,
        })
        polygon.on('mouseover', () => {
            polygon.setOptions({
                fillOpacity: 0.7,
            })
        })
        polygon.on('mouseout', () => {
            polygon.setOptions({
                fillOpacity: 0.5,
                fillColor: colors[m]
            })
        })
        polygon.on('click', () => {
            console.log(data[m].name)
        })
        map.add(polygon)
        // 缩放地图到合适的视野级别
        //map.setFitView(polygon)
    }


关键点

[Number(p[n].split(",")[0]), Number(p[n].split(",")[1])]

必须将经纬度坐标转化为数字类型,如果是文本类型,则鼠标事件失效。


@lockdata.cn

相关文章
|
监控 数据可视化 安全
如何使用webgl(three.js)实现煤矿隧道、井下人员定位、掘进面、纵采面可视化解决方案——第十九课(一)
three.js、webgl、3D煤矿隧道、三维井下人员定位、掘进面三维可视化、纵采面可视化、采集面可视化展示、设备检测、数字孪生、物联网3D、3d建筑、3d库房,bim管理系统
370 1
|
JavaScript 定位技术 API
百度离线地图API v3.0开发解决方案
百度离线地图API v3.0开发解决方案
810 0
|
2月前
|
数据可视化 搜索推荐 定位技术
三维地图万能子组件玩法全流程!拓展业务表达边界(附免费试用)
为了满足用户日益增长的个性化和定制化需求,我们推出了地图✖️万能子组件,支持自定义拼接地图组件内容,包括图表、标题等,打造超级信息面板。该组件可灵活展示地理信息业务数据,丰富可视化形式。此外,提供7天高级版免费试用、个人免费版永久使用等福利,并附有详细教程视频,帮助用户轻松配置和优化组件效果。
|
9月前
|
数据可视化 Java BI
商业开源MES+源码+送可拖拽式数据大屏
这是一个商业开源的JAVA MES系统,包含源码和本地部署教程。基于Springboot、Vue3和MySQL8,适用于开发学习。功能包括车间数据建模、生产物料控制、计划管理、过程控制、质量管理、库存管理、看板管理、报表分析和基础管理。需JDK11、Tomcat及Maven环境,源码付费获取。
147 0
|
9月前
|
Web App开发 存储 自然语言处理
推荐一款价值几万元的免费开源GPTs导航!还可自定义数据源做成通用导航站!
推荐一款价值几万元的免费开源GPTs导航!还可自定义数据源做成通用导航站!
180 0
|
9月前
|
搜索推荐 小程序 定位技术
【社区每周】AMPE新增车机卡片联动功能;支持个性化场景推荐(2022年6月第四期)
【社区每周】AMPE新增车机卡片联动功能;支持个性化场景推荐(2022年6月第四期)
118 0
|
JSON 数据可视化 定位技术
漏刻有时数据可视化Echarts组件开发(26):全国地图三级热力图下钻和对接api自动调用数据开发实录
漏刻有时数据可视化Echarts组件开发(26):全国地图三级热力图下钻和对接api自动调用数据开发实录
250 0
|
JavaScript 前端开发 数据库
Unity3d(webGL)构建数字孪生小案例(包含完整的数据交互体系)附赠完整代码
Unity3d(webGL)构建数字孪生小案例(包含完整的数据交互体系)附赠完整代码,请关注公众号:拼搏的小浣熊,获取简化版的代码!
|
搜索推荐 JavaScript 数据可视化
数据可视化大屏高德地图javascript webAPI开发的智慧治安物联网管理系统实战解析(web GIS、3D视图、个性化地图、标注、涟漪动画、自定义弹窗、3D控件)
数据可视化大屏高德地图javascript webAPI开发的智慧治安物联网管理系统实战解析(web GIS、3D视图、个性化地图、标注、涟漪动画、自定义弹窗、3D控件)
579 0
|
存储 JSON 数据可视化
ChatGPT工作提效之数据可视化大屏组件Echarts的实战方案(大数据量加载、伪3D饼图、地图各省cp中心坐标属性、map3D材质)
ChatGPT工作提效之数据可视化大屏组件Echarts的实战方案(大数据量加载、伪3D饼图、地图各省cp中心坐标属性、map3D材质)
713 0