Appearance
点聚合
一个地图只会有一个点聚合实例
调用方法
markerClusterer(option)
返回一系列的marker对应的tag数组,通过tag可实现指定marker的删除
option
| 名称 | 类型 | 说明 |
|---|---|---|
| list | ListItem[] | marker数组,必填 |
| styles | object | 自定义聚合后的图标风格 参考官网MarkerClustererOptions |
| girdSize | number | 聚合计算时网格的像素大小,默认60 |
| maxZoom | number | 最大的聚合级别,大于该级别就不进行聚合。默认无穷大 |
| success | function | 调用成功回调 |
| fail | function | 调用失败回调 |
ListItem
| 名称 | 类型 | 说明 |
|---|---|---|
| lnglat | lnglat | 经纬度,必填 |
| options | MarkerOptions | marker配置 |
点聚合方法
markerClustererFn(options)
options
| 名称 | 类型 | 说明 |
|---|---|---|
| function | string | 方法名,必填 |
| params | any | 参数,根据调用的方法填写对应的参数,remove方法本参数传递的事tag值或tag数组 |
| success | function | 调用成功回调 |
| fail | function | 调用失败回调 |
示例代码
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
