Google 映射 markerClusterer - 语法不清楚

Google maps markClusterer - syntax unclear

我无法使 Google 地图聚类工作,尝试了我找到的每个示例。所有标记都显示,没有控制台错误,但没有聚类。

首先,我在使用 markerClusterer not defined 时遇到了一些问题,有时会发生,有时不会。这显然是因为我的 https://maps.googleapis.com/maps/api/js 脚本设置为 async(我的常规做法),这意味着当我为其指定的回调函数 运行、https://unpkg.com/@googlemaps/markerclusterer/dist/index.min.js 可能不被加载。最好知道是否有办法解决这个问题(markerClusterer 代码的回调?)但是现在,为了弄清楚真正的问题,我已经删除了 async.

由于所有标记都工作正常,我将只提供与聚类相关的代码。在初始化地图的回调函数中,我尝试了这种方法(将标记添加到数组,然后将整个数组提供给 markerClusterer):

var marker;
var markers = [];

for ( var member_id in members_data ) {

    // Add marker
    marker = new google.maps.Marker({
        position: {
            lat: members_data[ member_id ].location_data.lat,
            lng: members_data[ member_id ].location_data.lng
        },
        map: my_map,
    });
    markers.push( marker );

}

const marker_clusterer = new markerClusterer.MarkerClusterer({ my_map, markers });

我也发现了这种语法,其中标记是单独添加的:

var marker;
var markers          = [];
var marker_clusterer = new markerClusterer.MarkerClusterer({ my_map });

for ( var member_id in members_data ) {

    // Add marker
    marker = new google.maps.Marker({
        position: {
            lat: members_data[ member_id ].location_data.lat,
            lng: members_data[ member_id ].location_data.lng
        },
        map: my_map,
    });
    markers.push( marker );
    marker_clusterer.addMarker( marker );

}

都没有用 - 没有控制台错误,没有集群,正常标记都很好。关于我如何开始调试它的任何线索?

var marker_clusterer = new markerClusterer.MarkerClusterer({ my_map });

应该是

var marker_clusterer = new markerClusterer.MarkerClusterer({ map: my_map });