打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
高德地图基于vue实现海量点位聚合

背景:大量点位(1w+)的加载

实现:高德地图海量点聚合实现

问题:如果遇到有多图层嵌套,直接使用massmarks海量点实现是有问题的

参考地址:https://lbs.amap.com/api/javascript-api/guide/overlays/massmarker#markercluster

代码:

this.points.map(item => {
    let myIcon = new CMap.Icon({
      size: item.size ? new// 图标尺寸 CMap.Size(...size) : new CMap.Size(34, 34),
      image: item.icon ? item.icon : require("@/assets/imgs/picture.png"),// 图标的取图地址
      imageSize: item.size ? new CMap.Size(...size) : new CMap.Size(34, 34)// 图标所用图片大小
    });
    var marker = new CMap.Marker({
      position: item.points, //位置
      icon: myIcon,
      // content: `<div>${index}</div>`,
      offset: new CMap.Pixel(-15, -15),
      extData: {
        detail: item //点击海量点的详情
      }
    });
    this.markers.push(marker);
    marker.on("click", e => {//点位的点击事件
      let details = e.target.getExtData().detail;
      // console.log(details)
      this.$emit("update", "pointClick", [details, marker]);
    });
    // }
});
var sts = [{//聚合点的样式
    url: "https://a.amap.com/jsapi_demos/static/images/blue.png",
    size: new AMap.Size(34, 34),
    offset: new AMap.Pixel(-16, -16)
}]
 this.cluster = new AMap.MarkerClusterer(this.map, this.markers, {
    styles: sts,
    gridSize: 20,
    minClusterSize:2,
    maxZoom:18
});
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【百度地图API】如何利用自己的数据制作社交地图?只显示可视区域内的标注
高德云图使用教程
保存
加油2017-2:地图标注
最全vue的vue-amap使用高德地图插件画多边形范围
【高德地图API】如何解决坐标转换,坐标偏移?如何获取...
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服