Skip to content

点聚合

地图点聚合组件

基础示例

vue
<template>
  <tlbs-map
    ref="map"
    api-key="OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77"
    :center="center"
    :zoom="8"
    :control="control"
    @click="onClick"
  >
    <tlbs-marker-cluster
      :geometries="geometries"
      :options="options"
    />
  </tlbs-map>
</template>

<script lang="ts">
import { defineComponent, ref } from 'vue-demi';

export default defineComponent({
  name: 'MarkerClusterDemo',
  setup() {
    const map = ref(null);
    const center = ref({ lat: 39.91799, lng: 116.397027 });
    const onClick = (e: Event) => {
      console.log(e);
    };
    return {
      center,
      onClick,
      control: {
        scale: {},
        zoom: {
          position: 'topRight',
        },
      },
      map,
      geometries: [
        { position: { lat: 39.99799, lng: 116.397027 } },
        { position: { lat: 39.89799, lng: 116.397027 } },
        { position: { lat: 39.79799, lng: 116.397027 } },
        { position: { lat: 39.89799, lng: 116.297027 } },
        { position: { lat: 39.89799, lng: 116.497027 } },
      ],
      options: {
        zIndex: 1,
      },
    };
  },
});
</script>

props

名称类型说明
idString图层 id
geometriesTMap.PointGeometry[]标注点数据数组
gridSizeNumber聚合距离,距离小于该值的点会聚合至一起,默认为60px
maxZoomNumber聚合策略的最大缩放级别,若地图缩放级别大于该值,则不进行聚合, 默认为20
minimumClusterSizeNumber最小聚合点数, 默认为2
averageCenterBooblean每个聚和簇的中心是否应该是聚类中所有标记的平均值,默认为false
enableDefaultStyleBooblean使用默认样式,默认为true
zoomOnClickBooblean点击聚合数字放大展开,默认为true
optionsTMap.MarkerClusterOptions除了上述属性的其他配置参数,点击下面官网文档链接查看

文档官网 https://lbs.qq.com/webApi/javascriptGL/glDoc/glDocCluster

事件

| clusterChange | { scatteredPoint, aggregationPoint} | 其他事件支持列表参考官网文档 https://lbs.qq.com/webApi/javascriptGL/glDoc/glDocCluster

组件实例属性

名称类型说明
markerClusterTMap.MarkerCluster点聚合实例。