Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 封装gmap';将InfoWindow转换为函数是';我不去上班了_Javascript_Google Maps_Infowindow - Fatal编程技术网

Javascript 封装gmap';将InfoWindow转换为函数是';我不去上班了

Javascript 封装gmap';将InfoWindow转换为函数是';我不去上班了,javascript,google-maps,infowindow,Javascript,Google Maps,Infowindow,如果我在同一个函数中创建gmap的marker和infowindow,而不调用其他函数。我工作得很好 但是现在,如果我想在函数createMarkerInfoWin()中封装一些操作,我该怎么做呢 我试着这样做: 1) 加载页面时调用函数onLoad() function onLoad(){ loadmap(); var marker = createMarkerInfoWin(); //i want to encapsulate some operations in it

如果我在同一个函数中创建gmap的marker和infowindow,而不调用其他函数。我工作得很好

  • 但是现在,如果我想在函数createMarkerInfoWin()中封装一些操作,我该怎么做呢

  • 我试着这样做:

    1) 加载页面时调用函数onLoad()

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

    函数createMarkerInfoWin(){
    var marker=新标记();
    var info=new infoWindow();
    var html=“…”;//信息窗口的内容
    addlistener(标记,'click',函数(){
    打开(html,标记);
    });
    返回标记;
    }
    
    这是行不通的。标记会显示在地图上,但单击标记时不会显示信息窗口

    所以我猜:当函数返回时,对象信息的mem将被回收

    大家好,有没有更好的方法将create操作封装到函数中? 我只是不想把所有的代码都放在onLoad()函数中

    tks

    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;
    }