我正在尝试使用Google Map API(V3)来放置地图上的图钉。我可以放置引脚并打开信息框。不幸的是,信息框不会显示HTML内容,只显示字符串。我使用以下代码创建/显示我的pin / info框。
addMarker('1600 Pennsylvania Avenue, Washington DC');
function addMarker(address) {
var geocoder = new google.maps.Geocoder();
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
var boxText = document.createElement("div");
boxText.style.cssText = "border: 1px solid black; margin-top: 8px; background: yellow; padding: 5px;";
boxText.innerHTML = "Hello World!";
var myOptions = {
content: boxText
,disableAutoPan: false
,maxWidth: 0
,pixelOffset: new google.maps.Size(-140, 0)
,zIndex: null
,boxStyle: {
backgroundColor: '#ffffff'
,width: "280px"
}
,closeBoxMargin: "10px 2px 2px 2px"
,closeBoxURL: "http://www.google.com/intl/en_us/mapfiles/close.gif"
,infoBoxClearance: new google.maps.Size(1, 1)
,isHidden: false
,pane: "floatPane"
,enableEventPropagation: false
};
var ib = new InfoBox(myOptions);
google.maps.event.addListener(marker, 'click', function(){
if( ib.anchor === this ){
ib.close();
}
else {
ib.open(map, this);
}
});
}
});
}
执行此操作时,信息框内容始终为[object HTMLDivElement]
,我无法弄清楚如何正确显示boxText
中的信息。信息框的代码几乎100%直接来自谷歌自己的例子。
答案 0 :(得分:1)
所以,答案非常简单。使用最新版本的infobox.js,它可以正常工作。