2013-07-02 61 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