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

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


在使用高德地图卫星图,由于默认使用了 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

相关文章
|
6月前
|
JavaScript 定位技术 API
uniapp腾讯地图路线规划
uniapp腾讯地图路线规划
550 0
|
JavaScript 定位技术 API
百度离线地图API v3.0开发解决方案
百度离线地图API v3.0开发解决方案
753 0
|
6月前
|
数据可视化 Java BI
商业开源MES+源码+送可拖拽式数据大屏
这是一个商业开源的JAVA MES系统,包含源码和本地部署教程。基于Springboot、Vue3和MySQL8,适用于开发学习。功能包括车间数据建模、生产物料控制、计划管理、过程控制、质量管理、库存管理、看板管理、报表分析和基础管理。需JDK11、Tomcat及Maven环境,源码付费获取。
118 0
|
6月前
|
Web App开发 存储 自然语言处理
推荐一款价值几万元的免费开源GPTs导航!还可自定义数据源做成通用导航站!
推荐一款价值几万元的免费开源GPTs导航!还可自定义数据源做成通用导航站!
129 0
|
6月前
|
搜索推荐 小程序 定位技术
【社区每周】AMPE新增车机卡片联动功能;支持个性化场景推荐(2022年6月第四期)
【社区每周】AMPE新增车机卡片联动功能;支持个性化场景推荐(2022年6月第四期)
94 0
|
JSON 数据可视化 定位技术
漏刻有时数据可视化Echarts组件开发(26):全国地图三级热力图下钻和对接api自动调用数据开发实录
漏刻有时数据可视化Echarts组件开发(26):全国地图三级热力图下钻和对接api自动调用数据开发实录
215 0
漏刻有时数据可视化Echarts组件开发(26):全国地图三级热力图下钻和对接api自动调用数据开发实录
|
搜索推荐 JavaScript 数据可视化
数据可视化大屏高德地图javascript webAPI开发的智慧治安物联网管理系统实战解析(web GIS、3D视图、个性化地图、标注、涟漪动画、自定义弹窗、3D控件)
数据可视化大屏高德地图javascript webAPI开发的智慧治安物联网管理系统实战解析(web GIS、3D视图、个性化地图、标注、涟漪动画、自定义弹窗、3D控件)
519 0
|
前端开发 定位技术 数据安全/隐私保护
百度地图高级开发:LBS服务实时定位覆盖范围内关键词标注的解决方案(2)
百度地图高级开发:LBS服务实时定位覆盖范围内关键词标注的解决方案(2)
89 0
|
定位技术 数据格式 容器
腾讯位置服务富文本标签实现行政区域标注点聚合的解决方案
腾讯位置服务富文本标签实现行政区域标注点聚合的解决方案
96 0
|
存储 搜索推荐
语音平台开发,展现社交属性的重要功能
语音平台开发,展现社交属性的重要功能