uniapp+h5+leaflet实现点聚合

接上篇,在天地图上实现点聚合

  1. 需要的文件

import 'static/leaflet/MarkerCluster.css';

import 'static/leaflet/MarkerCluster.Default.css';

import 'static/leaflet/leaflet.markercluster';

2.

createClusterLayer(data) {

       var styleFunction = L.icon({

              iconUrl: ‘’,//图片路径

              iconSize: [24, 28],

              iconAnchor: [12, 14],

       });

const markerClusterLayer = window.L.markerClusterGroup({

       showCoverageOnHover: false, //为true时,当鼠标悬停在点上时,它会显示它聚合的边界

       zoomToBoundsOnClick: true, //为true时,当鼠标点击某个点时,会缩放到它的边界范围

       chunkedLoading: true,

       maxClusterRadius: 160, // 聚类从中心标记覆盖的最大半径(以像素为单位),默认值 80

}).addTo(this.map);

 // 加载待聚合的geojson点数据                  

       let markerList = L.geoJSON(data, {

              pointToLayer: function(feature, latlng) {

                     return L.marker(latlng, {

                            icon: styleFunction

                     });

              },

              onEachFeature: (feature, lay) => {

                     lay.on('click', () => {

                            this.$ownerInstance.callMethod('markertap', feature.properties);

                     })

              }

       });

    // 添加聚合标记点列表

       markerClusterLayer.addLayers(markerList);

       markerClusterLayer.addTo(this.map);

}

聚合后的样式,可以自定义css样式实现。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值