Skip to content

点聚合

一个地图只会有一个点聚合实例

调用方法

markerClusterer(option)

返回一系列的marker对应的tag数组,通过tag可实现指定marker的删除

option

名称类型说明
listListItem[]marker数组,必填
stylesobject自定义聚合后的图标风格 参考官网MarkerClustererOptions
girdSizenumber聚合计算时网格的像素大小,默认60
maxZoomnumber最大的聚合级别,大于该级别就不进行聚合。默认无穷大
successfunction调用成功回调
failfunction调用失败回调

ListItem

名称类型说明
lnglatlnglat经纬度,必填
optionsMarkerOptionsmarker配置

点聚合方法

markerClustererFn(options)

options

名称类型说明
functionstring方法名,必填
paramsany参数,根据调用的方法填写对应的参数,remove方法本参数传递的事tag值或tag数组
successfunction调用成功回调
failfunction调用失败回调

示例代码

javascript
  let tags = []
  // 随机坐标
  let arrayObj: any = [];
  for (var i = 0; i < 20; i++) {
    let marker = {
      lnglat: [Math.random() * 40 + 85, Math.random() * 30 + 21],
      options: {
        title: i
      }
    };
    arrayObj.push(marker);
  }
  // 创建点聚合
  TDTRenderRef.value
    .markerClusterer({
      list: arrayObj
    })
  // 清除所有marker
  TDTRenderRef.value.markerClustererFn({
    function: 'clearMarkers'
  });
  // 新增marker,新增的也会返回对应的tags
  TDTRenderRef.value.markerClustererFn({
    function: 'addMarkers', // 若为addMarker,params为单个marker数据,非数组
    params: [
      {
        lnglat: [106.48535, 29.62378]
      },
      {
        lnglat: [106.48535, 29.62398]
      }
    ]
  });
  // 删除指定marker
  TDTRenderRef.value.markerClustererFn({
    function: 'removeMarkers', // 若为removeMarker方法,params为单个tag,非数组
    params: [cluTags[0], cluTags[1]]
  });

贡献者

mosowe

文档版本 v1.0.1