谷歌地图api v3显示静态图像而不是交互式地图

时间:2011-08-27 20:42:08

标签: google-maps google-maps-api-3

有时,当我加载地图时,我得到一个静态图像(并且没有标记),而不是带有标记和控件的交互式地图。
我认为这是缓慢连接的一个功能:
http://code.google.com/intl/es-AR/apis/maps/articles/static+js.html

然而,API中存在错误,因为我陷入了静态图像,从未加载地图。

您是否知道是否可以在APIv3中禁用静态图像并强制每次都加载交互式地图?

2 个答案:

答案 0 :(得分:3)

这可能不是你问题的答案,但我遇到了同样的问题,发现我错误地加载了两次API。一旦我删除了重复的脚本,它就会重新开始工作。

答案 1 :(得分:2)

NEWER / UPDATED ANSWER :显然,您曾经可以通过在MapOptions对象中设置useStaticMap: false来抑制此行为。但是,据报道,这种情况在3月左右停止了。见this Google Groups thread。也许它已经恢复,也许它不是。正在搜索" useStaticMap"在谷歌地图API v3的缩小的JavaScript代码确实产生了打击,所以这是有希望的。

还要注意该线程中的消息,该消息指出属性的名称已更改为useStaticMapImpl。在JavaScript中粗略搜索并没有找到该字符串,但如果useStaticMap不起作用,那么这也许值得一试。

再次,祝你好运!如果我可以复制这个问题,我可以在拍摄之前测试其中的一些建议,但唉,无论出于何种原因,我似乎无法实现这一点。

OLD ANSWER :我一直在尝试通过在Mac上使用SpeedLimit减慢网络连接来解决您描述的行为。我一直无法这样做。由此我得出结论,如果问题是连接缓慢,可能是非常慢的连接。因此,我怀疑禁用该功能可能会导致地图根本无法加载。

我无法在API参考中找到任何可以指示此功能选项的内容。实际上,仅从API Reference中判断,这种故障转移到静态映射的东西并不存在。虽然我确实看到了您提供的链接中提到的位置,但API参考可能不完整。

所有这一切,如果您想尝试禁用该行为,您可以通过在Map对象上侦听tilesloaded和/或idle事件来完成此操作。 (idle事件可能会在地图加载并准备使用时触发,但tilesloaded事件似乎更直观。您可能需要尝试查看哪一个(如果有的话)给您你想要的结果。)你可以隐藏<div>,直到相应的事件发生。

祝你好运!