高德地图进阶开发实战案例(8):加载多个多边形的覆盖物且实现鼠标高亮和单击事件解决方案

简介: 高德地图进阶开发实战案例(8):加载多个多边形的覆盖物且实现鼠标高亮和单击事件解决方案

多边形数据格式

    //ajax数据输入格式;
    var data = [
        {
            id: 1,
            value: "121.546266,29.80975;121.54543,29.806845;121.548713,29.806752;121.549957,29.809508"
        },
        {
            id: 2,
            value: "121.549996,29.809229;121.549202,29.806818;121.55183,29.806315;121.552689,29.808615"
        },
        {
            id: 3,
            value: "121.548172,29.802794;121.548065,29.800745;121.5527,29.800494;121.552174,29.802068"
        },
        {
            id: 4,
            value: "121.548698,29.8054;121.548215,29.803166;121.550811,29.802701;121.550843,29.804786;121.549577,29.80419;121.549577,29.80419"
        }
    ];


初始化地图

    //初始化地图对象,加载地图
    var map = new AMap.Map("container", {
        center: [121.548181, 29.806906],
        zoom: 15,
        resizeEnable: true,
    });


数据格式化

   //数据格式化;
    for (var j = 0; j < data.length; j++) {
        var path = [];
        var points = data[j].value.split(";");
        for (var i = 0; i < points.length; i++) {
            var point = points[i].split(",");
            path.push(new AMap.LngLat(point[0], point[1]));
        }
        //循环遍历添加多边形;
        addPolygon(path);
    }


创建多边形

    //创建多边形-函数封装;
    function addPolygon(path) {
        var polygon = new AMap.Polygon({
            map: map,
            path: path,
            strokeColor: "#1E9FFF",
            strokeWeight: 2,
            strokeStyle: 'dashed',
            strokeOpacity: 1,
            fillOpacity: 0.1,
            fillColor: '#1E9FFF',
            zIndex: 50,
        });
        //多边形覆盖物上点击显示窗体;
        polygon.on('click', function (e) {
            openInfo(e.lnglat);
        });
        //鼠标高亮效果
        polygon.on('mouseover', function (e) {
            polygon.setOptions({
                fillColor: '#FFB800',
            })
        });
        polygon.on('mouseout', function (e) {
            polygon.setOptions({
                fillColor: '#1E9FFF',
            })
        });
    }


lockdatav Done!

相关文章
|
10月前
|
定位技术
高德地图进阶开发实战案例(3):标注、信息弹窗和清除覆盖物
高德地图进阶开发实战案例(3):标注、信息弹窗和清除覆盖物
107 0
|
小程序 前端开发
微信小程序中使用画布canvas实现动态心电图绘制
微信小程序中使用画布canvas实现动态心电图绘制
443 0
微信小程序中使用画布canvas实现动态心电图绘制
|
小程序 定位技术
微信小程序:map地图自动缩放自适应大小
微信小程序:map地图自动缩放自适应大小
778 0
|
15天前
|
定位技术
Pyglet综合应用|推箱子游戏地图编辑器之图片跟随鼠标
Pyglet综合应用|推箱子游戏地图编辑器之图片跟随鼠标
17 0
|
10月前
|
定位技术
高德地图进阶开发实战案例(6):添加自定义图片覆盖物图层获取可视范围经纬度的解决方案
高德地图进阶开发实战案例(6):添加自定义图片覆盖物图层获取可视范围经纬度的解决方案
184 0
|
10月前
|
数据可视化 前端开发 搜索推荐
数据可视化大屏百度地图GPS轨迹位置感知状态开发实战案例解析(百度地图jsAPI,包含缩放控件、点线覆盖物、弹窗、标注图标分类功能)
数据可视化大屏百度地图GPS轨迹位置感知状态开发实战案例解析(百度地图jsAPI,包含缩放控件、点线覆盖物、弹窗、标注图标分类功能)
191 0
|
5月前
|
测试技术 定位技术
【sgDragMoveTile】自定义组件:拖拽瓦片图、地图、大图,滚动条对应同步滚动
【sgDragMoveTile】自定义组件:拖拽瓦片图、地图、大图,滚动条对应同步滚动
|
6月前
|
JavaScript 前端开发 UED
vue实现一个鼠标滑动预览视频封面组件(精灵图版本)
vue实现一个鼠标滑动预览视频封面组件(精灵图版本)
86 0
|
9月前
|
前端开发 定位技术
前端学习笔记202305学习笔记第二十三天-地图区域样式设置1
前端学习笔记202305学习笔记第二十三天-地图区域样式设置1
37 0
前端学习笔记202305学习笔记第二十三天-地图区域样式设置1
|
10月前
|
定位技术
Echarts实战案例代码(27):地理坐标图视觉引导线及富文本提示框的案例
Echarts实战案例代码(27):地理坐标图视觉引导线及富文本提示框的案例
226 0

热门文章

最新文章