0

我想在嵌入地图下方的网页中添加一行文字,说明地图上当前有多少个图钉……“此地图当前有 XX 个图钉。” 我想让XX自动填写当前号码。这就是标记信息的存储方式。

  var locations = [
    ['  place a ',  21.81821, 63.84583, 0.000000  ],
    ['  place b ',  34.56343, 67.89073, 0.000000  ]];

以及在此处创建和聚集的标记

var markers = [];

  var marker, i;

     for (i = 0; i < locations.length; i++) {  
     marker = new google.maps.Marker({
     position: new google.maps.LatLng(locations[i][1], locations[i][2]),
     map: map
     });

     google.maps.event.addListener(marker, 'click', (function(marker, i) {
     return function() {
     infowindow.setContent(locations[i][0]);
     infowindow.open(map, marker);
     }})(marker, i));
       markers.push(marker)}

  var markerCluster = new MarkerClusterer(map, markers,{gridSize:40});}
     google.maps.event.addDomListener(window, 'load', initialize);

我在想也许 document.write 可以自动调用元素的长度(位置/标记/标记...),如下所示

.
.
var XX = locations.length

<div id="map"></div>
<script language="javascript" type="text/javascript">
document.write("the map currently has", [XX], "pins");
</script>

但是我在实现它时遇到了麻烦,使用读出的示例位置会说“地图当前有2 个引脚”

4

2 回答 2

0

你有没有尝试过:

document.write("the map currently has " + XX + " pins");

我认为没有理由不工作。

于 2012-10-23T15:15:59.920 回答
0

MarkerClusterer有一个getTotalMarkers()函数可以返回集群中标记的总数 - 无需重新发明轮子......

如果我理解正确,这应该可以工作(未经测试,我会尽快检查):

//assumes an element with an id of marker-counter that you want to output to
document.getElementById("marker-counter").innerHTML = "the map currently has" + markerCluster.getTotalMarkers() + "pins";

更新:链接更新为指向 MarkerClusterer 文档而不是 MarkerManager

于 2012-10-23T15:13:10.267 回答