0

私は次のコードを使用して、マップで情報ウィンドウを開きます

 //populate the  infowindow to defined marker map point
 function assignmarkerclick(marker1, index, message) {
     google.maps.event.addListener(marker1, 'click', function () {
         if (!infowindow) {
             infowindow = new google.maps.InfoWindow();
         }
         infowindow.setContent(message);
         infowindow.open(map, marker1);
     });
 }

// 指定されたマーカーの情報ウィンドウを表示します

function showMarker(index) {

    new google.maps.event.trigger(marker[index], 'click');
}

そのため、「ポイントを表示」(showMarker() javascript 関数「ポイント リンクの表示」クリック イベントを呼び出していると仮定) リンクをクリックすると、最初に情報ウィンドウが開きません。「ポイントを表示」リンクを 2 回目にクリックすると、情報ウィンドウが開きます。以前にこのバグに遭遇した人はいますか? この問題を整理するのを手伝ってくれませんか?

ありがとう

4

1 に答える 1

3

関数の外でグローバル変数として infowindow オブジェクトを作成します。

// global var
var infowindow = new google.maps.InfoWindow();

 function assignmarkerclick(marker1, index, message) {
     google.maps.event.addListener(marker1, 'click', function () {
         infowindow.setContent(message);
         infowindow.open(map, marker1);
     });
 }
于 2012-11-23T10:42:04.067 に答える