2010-05-21 79 views
1

單擊ClusterMarker時,我需要打開infoWindow而不是放大地圖。 我正在使用Gmaps util庫MarkerClusterer來創建標記集羣。我試圖改變下面一行markerclusterer.js在Google Maps中的MarkerClusterer上的infoWindow

ClusterMarker_.prototype = new GOverlay(); 

ClusterMarker_.prototype = new GMarker(); 

,這樣我可以在clustermarker的openInfoWindow()功能,但didnt制定。有一些錯誤。 如果可能,請建議解決方案,以便可以使用MarkerClusterer完成此操作。否則,任何其他圖書館將能夠做到這一點。 任何幫助將不勝感激。

回答

1

你可能最好修改markerclusterer.js爲標誌的單擊事件開始於行672

目前:

GEvent.addDomListener(div, "click", function() { 
    var pos = map.fromLatLngToDivPixel(latlng); 
    var sw = new GPoint(pos.x - padding, pos.y + padding); 
    sw = map.fromDivPixelToLatLng(sw); 
    var ne = new GPoint(pos.x + padding, pos.y - padding); 
    ne = map.fromDivPixelToLatLng(ne); 
    var zoom = map.getBoundsZoomLevel(new GLatLngBounds(sw, ne), map.getSize()); 
    map.setCenter(latlng, zoom); 
    }); 

更改爲類似:

GEvent.addDomListener(div, "click", function() { 
    map.openInfoWindowHtml(latlng, "Put your infowindow content here"); 
    }); 

顯然,取決於你想要抽象的東西的多少,你可以做幾件事情:

  • 添加配置選項MarkerClusterer指定是否做縮放功能或信息窗口功能
  • 定義一個回調函數設置,您可以指定被點擊一個集羣時,將調用什麼功能MarkerClusterer。
+0

因爲我沒有在API中正確挖了,我不知道,我可以使用地圖對象打開信息窗口,只想到的GMarkerç一個這樣做。並試圖讓我的ClusterNarker_ GMarker。但那沒有奏效。感謝您的重定向。也許這會奏效。但是我必須等到週一才能看看它是否有效。 再次感謝 – Vishwanath 2010-05-22 03:45:55

+0

最新版本的markerclusterer(MarkerClustererPlus)可讓您輕鬆覆蓋一些事件,例如點擊事件。我想要做的與問題類似,但我只想打開一個infowindow,其中包含來自羣集中每個標記的一些數據的列表,僅針對最後一級縮放。更接近地球的那個(我認爲它是21)。有任何想法嗎? – acrespo 2013-01-14 10:18:59

6

對於MarkerCluster V3有一個名爲「clusterclick」自定義事件,其返回markerCluster對象,那麼你可以得到它的中心,並將其分配給一個信息窗口,這樣的事情:

google.maps.event.addListener(mc, 'clusterclick', function (mCluster) { 
    //infowindow must be declared before in your code 
    infowindow.setContent("your info"); 
    var myLatlng = new google.maps.LatLng(mCluster.getCenter().ya, mCluster.getCenter().za); 
    infowindow.setPosition(myLatlng); 
    infowindow.open(map); 
}); 

你也需要設置假zoomOnClick選項:

var mcoptions = { zoomOnClick: false, showText: true, averageCenter: true} 
var mc = new MarkerClusterer(map, markersArray, mcoptions); 
+0

它仍然激發我的縮放....... – ricricucit 2012-07-28 14:55:27

+0

你也必須設置falseOnClick選項我更新了我的答案 – 2012-07-30 15:06:14

+0

似乎有一些變量定義丟失。我很欣賞這種迴應,但更有效的解決方案會很棒。 – 2012-09-04 08:41:51

相關問題