0

緯度と経度、名前、画像を正式なパラメータとして指定する関数を作成しようとしています。そのため、クリックするとマップ上のマーカー(名前と画像)が表示されます。複数のマーカーを追加すると、最後の呼び出しの実際のパラメーターがすべてに渡されますが、機能しているようです。そのため、クリックするたびMarkerに、同じ名前と画像がポップアップ表示されます。

私はここで何が間違っているのかわかりません。なぜなら、私はすべてを正しくスコープしたと思ったからです。

これが私の関数のコードの一部です。私Initialise()は次のように宣言しました。

var marker = add_marker(51.21904,4.32659000000001,"Iggy Jensen","bro.jpg"); 
fluster.addMarker(marker);

var marker = add_marker(51.20367,4.341480000000047,"John Doe","bro.jpg");
fluster.addMarker(marker);

var marker = add_marker(51.2041539954234,4.327017528991746,"Joske Vermeulen","bro.jpg"); 
fluster.addMarker(marker);

関数add_markerは自分で作成しますaddMarkerは、私が使用するクラスター管理システムであるFluster2の一部です。

function add_marker(lat,lng,name,pic) {

var marker = new google.maps.Marker({
      position: new google.maps.LatLng(lat,lng),
      map: map,
      icon: 'icon.png',
      title: name
});
    infoBubble = new InfoBubble({
      maxWidth: 300,
      backgroundColor: '#dedddd',
      borderWidth: 2,
      borderColor: 'rgb(68, 68, 68)'
    });

    var contentString = '<div id="content">'+
        '<h2>'+name+'</h2>'+
        '<p><span class="myLabel" style="margin-right:10px">Age </span>21</p>'+
        '<p><center><img src="'+pic+'" class="bro_image"></center> </p>'+
        '</div>';

    var div = document.createElement('DIV');
    div.innerHTML = 'No pictures uploaded by this user.';

    infoBubble.addTab('Personal', contentString);
    infoBubble.addTab('Pictures', div);

    google.maps.event.addListener(marker, 'click', function() {
      if (!infoBubble.isOpen()) {
        infoBubble.open(map, marker);
      }
    }); 

return marker;
  }

   function addTab() {
    var title = document.getElementById('tab-title').value;
    var content = document.getElementById('tab-content').value;

    if (title != '' && content != '') {
      infoBubble.addTab(title, content);
    }
  }

どんな助けでも大歓迎です!前もって感謝します!

4

1 に答える 1

1

var定義の前に ' ' を追加するだけです。それ以外の場合は、新しいオブジェクトを同じグローバル変数infoBubbleに割り当てるたびに:InfoBubble

  var infoBubble = new InfoBubble({
// ^---------here it is
于 2012-07-22T12:55:19.237 に答える