инкапсулировать InfoWindow gmap в функцию не будет работать - PullRequest
1 голос
/ 06 июня 2011
  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 ().

ТКС ...

...