2013-07-02 62 views
0

我有一個非常簡單的標記集羣示例,它不起作用(我已經評估了論壇中的許多帖子)。 我的問題是,13個標記在地圖上,但沒有辦法將它們聚類。標記集羣不工作 - 谷歌地圖API

在這裏你會發現我的JavaScript代碼。我跟着這個例子: ​​

在我的HTML,我既包括markerclusterer.js和markerclusterer_compiled.js

預先感謝您


功能初始化(){

var myOptions = { 
    zoom: 4, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
}; 

var map = new google.maps.Map(document.getElementById('map'), myOptions); 

var pos = new google.maps.LatLng(-39.431441,-71.286622); 
map.setCenter(pos); 

var all = [ 
    [" -41.8675 ", " -73.827697"], 
    [" -23.65 ", " -70.4"], 
    [" -42.48014 ", " -73.762414"], 
    [" -20.2167 ", " -70.142223"], 
    [" -29.906301 ", " -71.250204"], 
    [" -39.272254 ", " -71.977629"], 
    [" -41.3167 ", " -72.9833"], 
    [" -22.908707 ", " -68.199716"], 
    [" -33.4625266 ", " -70.6512506"], 
    [" -39.819586 ", " -73.24521"], 
    [" -33.045646 ", " -71.620361"], 
    [" -33.024527 ", " -71.55234"], 
    [" -43.1216233 ", " -74.0300122"], 
]; 

for (var i = 0; i < 25; i++) { 
     var lat = all[i][0]; 
     var lng = all[i][1]; 
     var latLng = new google.maps.LatLng(lat, lng); 
     var marker = new google.maps.Marker({map: map, position: latLng,}); 
     all.push(marker); 
} 

var markerCluster = new MarkerClusterer(map, all); 

};

+0

'在我的HTML,我既包括markerclusterer.js和markerclusterer_compiled.js' - 爲什麼兩者兼而有之?你只需要包括一次。 – geocodezip

+0

好的,我只保留了markerclusterer.js,但它仍然不起作用 – user2543010

回答

0

markercluster需要一個google.maps.Marker對象數組,「all」數組是一個數組數組,其末尾可以推送一些google.maps.Markers。

function initialize() { 


var pos = new google.maps.LatLng(-39.431441,-71.286622); 

var myOptions = { 
    zoom: 4, 
    center: pos, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
}; 

var map = new google.maps.Map(document.getElementById('map'), myOptions); 

map.setCenter(pos); 

var all = [ 
    [-41.8675, -73.827697], 
    [-23.65, -70.4], 
    [-42.48014, -73.762414], 
    [-20.2167, -70.142223], 
    [-29.906301, -71.250204], 
    [-39.272254, -71.977629], 
    [-41.3167, -72.9833], 
    [-22.908707, -68.199716], 
    [-33.4625266, -70.6512506], 
    [-39.819586, -73.24521], 
    [-33.045646, -71.620361], 
    [-33.024527, -71.55234], 
    [-43.1216233, -74.0300122] 
]; 

var gmarkers = []; 
for (var i = 0; i < all.length; i++) { 
     var lat = all[i][0]; 
     var lng = all[i][1]; 
     var latLng = new google.maps.LatLng(lat, lng); 
     var marker = new google.maps.Marker({map: map, position: latLng,}); 
     gmarkers.push(marker); 
} 

var markerCluster = new MarkerClusterer(map, gmarkers); 

}; 
     google.maps.event.addDomListener(window, 'load', initialize); 

working example

+0

好的,很明顯,非常感謝。我將它插入到主代碼中,看看整個事情是否正在工作:) – user2543010