今天我开始在我的网站中实现谷歌地图,但是我遇到了一个问题,因为为我提供的带有地图的div不能放入另一个div?!
我使用本网站上所述的代码,当我做类似的事情时
<div><div id="map_canvas" style="width:100%; height:100%"></div></div>
它停止工作。为什么?我不希望我的地图显示在整个页面上,我希望它显示在一个普通的 div 中,我可以随时重新设置样式......
今天我开始在我的网站中实现谷歌地图,但是我遇到了一个问题,因为为我提供的带有地图的div不能放入另一个div?!
我使用本网站上所述的代码,当我做类似的事情时
<div><div id="map_canvas" style="width:100%; height:100%"></div></div>
它停止工作。为什么?我不希望我的地图显示在整个页面上,我希望它显示在一个普通的 div 中,我可以随时重新设置样式......
像这样更改样式表:
<style type="text/css">
#map_canvas { width : 500px; height : 500px; }
</style>
并且从 div 标签中去掉内联样式表。
<div id="map_canvas"></div>
现在你有
<div><div id="map_canvas" style="width:100%; height:100%"></div></div>
这应该不起作用,因为您的父 div 没有width
and height
。当您使用width/height
in 时%
,该元素根据其父元素测量尺寸。如果你对你的父母应用一些宽度和高度element/div
,即
<div style="width:300px;height:300px"><div id="map_canvas" style="width:100%; height:100%"></div></div>
然后内部 div (map_canvas )会将宽度和高度应用于100%
. 300px
或者,您可以删除外部 div。希望能帮助到你。
您可以为div
map_canvas
. 它不需要放入另一个内部div
来做到这一点。
因此,例如,将您的代码更改为:
<div id="map_canvas"></div>
和 CSS:
#map_canvas{
width:400px; /* your own height here */
height:300px; /* your own height here */
border:solid 1px green; /* your own border if you like */
/* maybe you want to position it somewhere? you can do for example */
position:absolute; top:50px; left:50px;
}
更新
显然,您还需要在父 DIVS 上设置宽度和高度。我尚未对此进行测试,但请尝试以下操作:
<div id="mapHolder"><div id="map_canvas" style="width:100%; height:100%"></div></div>
#mapHolder {width:100%; height:100%;}
如果做不到这一点,您是否尝试过绝对大小,而不是像我在这个答案顶部的 CSS 中的 % ?
您可以通过更改宽度和高度值来重新调整地图的大小。所以
<div id="map_canvas" style="width:50%; height:50%"></div>