0

我正在使用带有 ClusterMarker 的 GoogleMaps JS API V3。到目前为止一切顺利,我有一张带有定制集群的工作地图。

我决定我需要一种方法来打开带有单击群集的一些信息的 infoWindow,包括一些锚定链接。

我在 SO 和 Google 上进行了一些搜索,并从这个StackOverflow 答案中找到了一些类似的东西。

var infoWindow = new google.maps.InfoWindow();

google.maps.event.addListener(markerCluster, 'clusterclick', function (clickedCluster) {


    console.log(clickedCluster);

    var center = clickedCluster.getCenter();

    var latLng = new google.maps.LatLng(center);

    // infowindow.setContent("Info Window");
    // infowindow.setPosition(latLng);
    // infowindow.open(map);

});

console.log(clickedCluster)我给出了一个具有 6 个方法和大量属性的 Cluster 对象。这些功能之一是getCenter()返回“已单击的群集图标的中心”。

当我取消注释此行时:var center = clickedCluster.getCenter();我收到一条错误消息,指出 getCenter() 不是函数。

谁能帮我解释一下我在这里做错了什么?

提前致谢

4

1 回答 1

0

所以问题的解决方案原来clickedCluster是作为数组返回的。下面的效果很好。

var infoWindow = new google.maps.InfoWindow();

google.maps.event.addListener(markerCluster, 'clusterclick', function (clickedCluster) {

    var center = clickedCluster[0].getCenter();
    var latLng = new google.maps.LatLng(center.lat(),center.lng());

    infoWindow.setContent(getDailyDeals(center.lat(),center.lng()));
    infoWindow.setPosition(latLng);
    infoWindow.open(map);
});
于 2012-06-28T12:27:13.147 回答