如果我在同一个函数中创建 gmap 的标记和信息窗口而不调用其他函数。我工作得很好。
但是现在,如果我想在函数 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() 中。
咳咳……