当JS函数显然是我正在使用的对象的原型时,它是未定义的

时间:2012-06-28 11:03:36

标签: javascript google-maps-api-3

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

我决定需要一个方法来打开infoWindow,其中包含点击群集的一些信息,包括一些锚定链接。

我在SO和Google上进行了一些搜索,并在StackOverflow answer中提出了这些内容。

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)我给了一个Cluster对象,它有6个方法,并且有很多属性。其中一个函数是getCenter(),它返回“已点击的群集图标中心”。

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

有人能帮助我解释一下我在这里做错了吗?

提前致谢

1 个答案:

答案 0 :(得分: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);
});