0

好的,我在这里尝试了很多示例,但我似乎无法让信息窗口正确附加元素。我敢肯定,这与我的结构方式有关,这是完全错误的。

我已经制作了自己的侧边栏,并且看着这个: http: //koti.mbnet.fi/ojalesa/boundsbox/makemarker_sidebar.htm它应该是可能的。但我看不出与我的代码有什么不同。

所以这是我的 AddMarker 和添加侧边栏功能

function addMarker(location, name, content) {

       console.log("Adding Marker: "+location)
        if (name === "Patient"){
            var patient_icon = '<?php echo base_url();?>images/Profile.png';
            var marker = new google.maps.Marker({
                position: location,
                map: map,
                title: name,
                icon: patient_icon
            });
        }else{
            var marker = new google.maps.Marker({
                position: location,
                map: map,
                title: name
            });
        }
        markersArray.push(marker);
        var info = new google.maps.InfoWindow ({content: content})
        google.maps.event.addListener(marker, 'click', function(){info.open(map,marker);});
        if (name != 'Patient'){
            sidebar(name, marker, content)
        }
    }

function sidebar(name, marker, content){
    name = name.replace(/\s+/g, '');
    $("<div id='"+name+"'class='even' onclick=' function(){google.maps.event.trigger("+marker+", \"click\")' >"+content+"</div>").appendTo($('#prov_list'));
}

侧边栏元素上的 Onclick 功能什么都不做,我错过了什么?

谢谢!

4

2 回答 2

2

你可以尝试这样的事情,我认为问题出在字符串连接上。

这是创建 dom 元素的另一种方法:

        $("<div/>", {
            'id': name,
            'class': 'even',
            'html': content
        }).click(function(){
            google.maps.event.trigger(marker, 'click');
        }).appendTo($('#prov_list'));
于 2012-09-11T19:37:10.303 回答
0

普通的旧 DHTML:

function sidebar(name, marker, content){
  var container = document.getElementById('prov_list');
  var myDiv = document.createElement('DIV');
  myDiv.onclick = function(){
    google.maps.event.trigger(marker, 'click');
  }
  myDiv.innerHTML =  content;
  container.appendChild(myDiv);
}
于 2012-09-12T09:56:00.853 回答