高德海量点MassMarks

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
    <title>海量点</title>
    <link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css"/>
    <style>
        html, body, #container {
            height: 100%;
            width: 100%;
        }

        .input-card .btn {
            margin-right: 1.2rem;
            width: 9rem;
        }

        .input-card .btn:last-child {
            margin-right: 0;
        }
    </style>
</head>
<body>
<div id="container" class="map" tabindex="0"></div>
<!-- <script type="text/javascript" src='https://a.amap.com/jsapi_demos/static/citys.js'></script> -->
<script type="text/javascript" src="./citys.js"></script>
//./citys.js 数据格式  var citys = [ { "name": "污水井盖", "lnglat": [ "112.59678438275", "37.8066298892175" ], "style": 0, "id": 6062 },···]


<script type="text/javascript"
        src="https://webapi.amap.com/maps?v=1.4.15&key=da55df830352cfd2ce93939d59888928&plugin=AMap,Map3D,AMap.ControlBar,AMap.DistrictSearch,AMap.MarkerClusterer"></script>
<script type="text/javascript">
    var map = new AMap.Map('container', {
        zoom: 12,
        center: [112.507792,37.690254],
        viewMode: "3D"
    });

    var mask = [];
    var object3Dlayer = new AMap.Object3DLayer();
    map.add(object3Dlayer);
    var district = null;
    //加载行政区划插件
    if (!district) {
        //实例化DistrictSearch
        var opts = {
        subdistrict: 0, //获取边界不需要返回下级行政区
        extensions: "all", //返回行政区边界坐标组等具体信息
        level: "district", //查询行政级别为 市
        };
        district = new AMap.DistrictSearch(opts);
    }
    //行政区查询
    district.search("小店区", function (status, result) {
        var outer = [
        new AMap.LngLat(-360, 90, true),
        new AMap.LngLat(-360, -90, true),
        new AMap.LngLat(360, -90, true),
        new AMap.LngLat(360, 90, true),
        ];
        var holes = result.districtList[0].boundaries;
        // console.log("区域范围", holes);
        //记录小店区范围-坐标数组,用于区域掩模
        for (var i = 0; i < holes.length; i += 1) {
        mask.push([holes[i]]);
        }

        //添加高度面-3D
        var object3Dlayer = new AMap.Object3DLayer({ zIndex: 1 });
        map.add(object3Dlayer);
        var height = -8000;
        var color = "#B3E2FF"; //rgba 3d轮廓颜色
        var wall = new AMap.Object3D.Wall({
        path: holes,
        height: height,
        color: color,
        });
        wall.transparent = true;
        object3Dlayer.add(wall);

        //添加描边
        for (var h = 0; h < holes.length; h += 1) {
        new AMap.Polyline({
            path: holes[h],
            strokeColor: "#B3E2FF",
            strokeWeight: 4,
            map: map,
        });
        }
        var pathArray = [outer];
        pathArray.push.apply(pathArray, holes);
        var polygon = new AMap.Polygon({
        pathL: pathArray,
        //线条颜色,使用16进制颜色代码赋值。默认值为#006600
        strokeColor: "#B3E2FF",
        strokeWeight: 4,
        //轮廓线透明度,取值范围[0,1],0表示完全透明,1表示不透明。默认为0.9
        strokeOpacity: 0.5,
        //多边形填充颜色,使用16进制颜色代码赋值,如:#FFAA00
        fillColor: "#12233e",
        // fillColor: "#ffffff",
        //多边形填充透明度,取值范围[0,1],0表示完全透明,1表示不透明。默认为0.9
        fillOpacity: 1,
        //轮廓线样式,实线:solid,虚线:dashed
        strokeStyle: "dashed",
        /*勾勒形状轮廓的虚线和间隙的样式,此属性在strokeStyle 为dashed 时有效, 此属性在    
                ie9+浏览器有效 取值: 
                实线:[0,0,0] 
                虚线:[10,10] ,[10,10] 表示10个像素的实线和10个像素的空白(如此反复)组成的虚线
                点画线:[10,2,10], [10,2,10] 表示10个像素的实线和2个像素的空白 + 10个像素的实 
                线和10个像素的空白 (如此反复)组成的虚线*/
        strokeDasharray: [10, 2, 10],
        });
        polygon.setPath(pathArray);
        map.add(polygon);
    });


    var style = [
    	{
	        url: 'https://a.amap.com/jsapi_demos/static/images/mass2.png',
	        anchor: new AMap.Pixel(3, 3),
	        size: new AMap.Size(5, 5)
    	}
    ];//图标数组

    var mass = new AMap.MassMarks(citys, {
        opacity: 0.8,
        zIndex: 111,
        cursor: 'pointer',
        style: style
    });//创建点位

    var marker = new AMap.Marker({content: ' ', map: map});//创建一个普通Marker点

    mass.on('mouseover', function (e) {
        marker.setPosition(e.data.lnglat);
        marker.setLabel({content: e.data.name})
    });//绑定划上事件

    mass.setMap(map);//把

</script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不想写前端的前端

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值