You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Maps MarkerClusterer配置中结合Renderer与gridSize

解决Google Maps MarkerClusterer调整gridSize的问题

你之前的尝试都没找对配置位置,新版的MarkerClusterer(即你通过unpkg引入的@googlemaps/markerclusterer)里,gridSize是直接作为初始化配置的顶层属性,不需要嵌套在GridOptions里,也和Renderer、单个Marker的配置无关。

正确的写法是把gridSize直接加到你的config对象里,数值单位是像素,值越大,聚类范围越广,生成的集群就越大,地图上的单个标记就越少:

let renderer = {
    render: ({ count, position }) =>
        new google.maps.Marker({
            label: {
                text: String(count),
                color: "transparent",
            },
            position,
            icon: {
                url: mapOperator.imageBasePath + "pin-cluster-1.png",
            },
            zIndex: Number(google.maps.Marker.MAX_ZINDEX) + count,
        }),
};

// 直接在config里添加gridSize属性
let config = { 
    map, 
    markers, 
    renderer,
    gridSize: 100 // 可根据需求调整数值,比如100像素
};
let cluster = new markerClusterer.MarkerClusterer(config);

简单说明:gridSize定义了聚类网格的边长,当多个标记落在同一个网格范围内时,就会被聚合成一个集群。调大这个值,会让更多标记被归到同一集群中,从而减少地图上单个标记的数量。

内容的提问来源于stack exchange,提问作者ReflectionFE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 19:39:27