1
  1. 他の関数を呼び出さずに、同じ関数で gmap のマーカーと情報ウィンドウを作成するとします。私はよく働きます。

  2. しかし、関数 createMarkerInfoWin() でいくつかの操作をカプセル化したい場合は、どうすればよいですか...

私はこのように試しました:

1) ページのロード時に関数 onLoad() を呼び出します。

function onLoad(){
    loadmap();
    var marker =   createMarkerInfoWin(); //i want to encapsulate some operations in it
    marker.setMap(map);  
    ...

}

2)

function createMarkerInfoWin(){
    var marker = new marker();
    var info = new infoWindow();
    var html = "<div>....</div>";  //infowindow's content

    Event.addlistener(marker,'click', function(){
       info.open(html,marker);
    });
    return marker;
}

それはうまくいきません。マーカーは地図上に表示されますが、マーカーをクリックしても情報ウィンドウは表示されません。

だから私は推測します:オブジェクト情報のメモリは、関数が戻るときにリサイクルされるでしょう。

皆さん、作成操作を関数にカプセル化するより良い方法はありますか? 関数 onLoad() にすべてのコードを入れたくないだけです。

tks...

4

0 に答える 0