好的,我在这里尝试了大量的例子,我似乎无法让Info Windows正确地附加元素。我确信这是我的结构,这是完全错误的。
我已经制作了自己的补充工具栏,看着这个: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功能什么都没有?
谢谢!
答案 0 :(得分:2)
您可以尝试这样的事情,我认为问题出在字符串连接上。
这是创建dom元素的另一种方法:
$("<div/>", {
'id': name,
'class': 'even',
'html': content
}).click(function(){
google.maps.event.trigger(marker, 'click');
}).appendTo($('#prov_list'));
答案 1 :(得分: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);
}