高德地图进阶开发实战案例(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!

相关文章
|
定位技术
高德地图进阶开发实战案例(3):标注、信息弹窗和清除覆盖物
高德地图进阶开发实战案例(3):标注、信息弹窗和清除覆盖物
207 0
|
8月前
|
图形学
小功能⭐️不用传参,Unity获得鼠标悬浮处的物体、UI!
小功能⭐️不用传参,Unity获得鼠标悬浮处的物体、UI!
|
9月前
uniapp实战 —— 轮播图【数字下标】(含组件封装,点击图片放大全屏预览)
uniapp实战 —— 轮播图【数字下标】(含组件封装,点击图片放大全屏预览)
183 1
|
定位技术
高德地图进阶开发实战案例(6):添加自定义图片覆盖物图层获取可视范围经纬度的解决方案
高德地图进阶开发实战案例(6):添加自定义图片覆盖物图层获取可视范围经纬度的解决方案
447 0
|
数据可视化 前端开发 搜索推荐
数据可视化大屏百度地图GPS轨迹位置感知状态开发实战案例解析(百度地图jsAPI,包含缩放控件、点线覆盖物、弹窗、标注图标分类功能)
数据可视化大屏百度地图GPS轨迹位置感知状态开发实战案例解析(百度地图jsAPI,包含缩放控件、点线覆盖物、弹窗、标注图标分类功能)
359 0
|
11月前
|
定位技术
Pyglet综合应用|推箱子游戏地图编辑器之图片跟随鼠标
Pyglet综合应用|推箱子游戏地图编辑器之图片跟随鼠标
86 0
|
11月前
|
数据可视化 大数据
【透明版九宫格背景图片】仅依靠background的几个属性组合搭配出酷炫的透明背景卡片效果→适用于大数据可视化、数据大屏展示页面
【透明版九宫格背景图片】仅依靠background的几个属性组合搭配出酷炫的透明背景卡片效果→适用于大数据可视化、数据大屏展示页面
【透明版九宫格背景图片】仅依靠background的几个属性组合搭配出酷炫的透明背景卡片效果→适用于大数据可视化、数据大屏展示页面
|
图形学
|
前端开发
css动画效果代码淡入淡出折叠展开点击悬浮
css动画效果代码淡入淡出折叠展开点击悬浮
|
前端开发 数据可视化
漏刻有时数据大屏CSS样式表成长教程(3):使用样式表做圆环指示图标
漏刻有时数据大屏CSS样式表成长教程(3):使用样式表做圆环指示图标
251 2