我正在开发一个个人项目,它将在几页上显示Google地图。我创建的只是一个示例演示页面,我坚持的东西似乎很简单,但我无法绕过它(没有太多的前端开发人员)Google地图信息窗口 - 防止HTML模板显示在页面上
我有一个Html页面与我的地图。在底部,我创建了一个“模板”,它将用作infoWindow内容的容器。
<div class="infowindow2">
<h3>Point Information</h3>
<h4>Id {id} </h4>
<h4>Update date: {update}</h4>
</div>
我对infowindow2类以下CSS样式:
.infowindow2{
width:250px;
height:130px;
overflow:hidden;
}
上的标记的单击事件,我设置的信息窗口的内容:
function addMarkerClick(marker){
google.maps.event.addListener(marker, 'click', function() {
infoWindow.close();
//Retrieve html template
var window2 = $('.infowindow2')[0].outerHTML;
//Replace template holders with values
window2 = window2.replace("{id}", marker.id);
window2 = window2.replace("{update}", marker.update);
infoWindow.setContent(window2);
infoWindow.open(map, marker);
});
}
降至现在的我题。除了一件事以外,一切工作都很好。窗口的Html模板显示在页面上。我试图隐藏窗口通过CSS设置为none,但是当我点击时,infoWindow是空的(正如所料,html不在页面上)
我在这里丢失了什么?我希望在我的页面上定义html模板,但只能将它用于infoWindow。我现在不想使用任何像引导程序的CSS框架,因为这是一个非常基本的演示。
更新:JSFiddle重现问题:http://jsfiddle.net/joaopgrassi/vtp4fq97/1/ 向下滚动页面以查看正在显示的html模板。
你可以在小提琴中重新创建吗? – jmore009 2014-10-12 14:26:19
当然。用jsfiddle更新了问题。 – jpgrassi 2014-10-12 14:41:46