0

Web ページの埋め込み地図の下に、現在地図上にあるピンの数を示すテキスト行を追加したいと考えています...「この地図には現在 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

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";

更新: MarkerManager の代わりに MarkerClusterer ドキュメントを指すようにリンクが更新されました

于 2012-10-23T15:13:10.267 に答える
0

やってみました:

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

それが機能しない理由はありません。

于 2012-10-23T15:15:59.920 に答える