Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps 嵌入的Google地图只显示DOM中的特定位置?_Google Maps_Google Maps Api 3 - Fatal编程技术网

Google maps 嵌入的Google地图只显示DOM中的特定位置?

Google maps 嵌入的Google地图只显示DOM中的特定位置?,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,我在使用谷歌地图API时遇到了一个奇怪的情况。以下是我试图实现的目标: 用户可以上传照片到我的网站。这些可能有地理标签信息他们的EXIF,我读。如果他们有,我想在图像的侧面显示一个嵌入的小地图 问题是,当我将MapCanvas元素直接放在body下面时,我可以让地图显示出来,但不能放在其他任何地方。以下是地图工作的示例: 这是我的开发环境的临时URL。不要介意页面布局的破坏,这只是一个技术测试,以证明我使用的地图代码是功能性的,它甚至考虑了实际坐标 因此,在该URL中,map canvas元素位

我在使用谷歌地图API时遇到了一个奇怪的情况。以下是我试图实现的目标:

用户可以上传照片到我的网站。这些可能有地理标签信息他们的EXIF,我读。如果他们有,我想在图像的侧面显示一个嵌入的小地图

问题是,当我将MapCanvas元素直接放在body下面时,我可以让地图显示出来,但不能放在其他任何地方。以下是地图工作的示例:

这是我的开发环境的临时URL。不要介意页面布局的破坏,这只是一个技术测试,以证明我使用的地图代码是功能性的,它甚至考虑了实际坐标

因此,在该URL中,map canvas元素位于以下位置的正下方:


即使我禁用了这个包装器的所有CSS声明,它仍然不会呈现映射。神秘

我发现了这个问题,而且非常简单:

<div id="map_canvas" style="width: 300px; height: 300px;"></div>

与使用基于百分比的宽度不同,切换到绝对大小可以修复所有问题。

如果本例中的父dom元素是display!=阻止地图将不会出现。请确保您的浏览器能够识别。感谢您一直思考,但“侧边”确实有显示:block;它在我的样式表的顶部,我在IE中使用HTML shiv。我在Firebug中进行了双重检查,它确实将其视为一个块元素。如果你直接将地图放入其中,它就会工作。但是如果地图在的任何一个孩子身上,它就不是了?我无法复制。当我把它直接放在下面的一边时,它仍然不会呈现任何东西。你是如何测试的?我做了这个:
<html>-><body>-><div id="wrapper">-><div id="content"><aside>->map canvas here
#wrapper { display:block;width: 960px; margin:0 auto;min-height: 100%;overflow:auto; }
<div id="map_canvas" style="width: 300px; height: 300px;"></div>