【发布时间】:2014-01-04 03:01:53
【问题描述】:
我正在尝试做几乎与Charleshaa did two years ago 完全相同的事情,因此我的代码看起来与当时给出的答案中建议的代码非常相似。
但有些事情让我很恼火:当map-canvas(地图容器)的宽度增加时,地图本身会停留在画布的左侧,而在右侧添加了额外的区域。
大约一毫秒后,map.setCenter(oldCenter); 被调用,地图在容器内的位置发生了变化(向右)。
可以看到这种变化(作为向右的跳转)并且真的很烦人。
有没有办法在调整地图大小的同时设置中心,而不是在不久之后?
我使用$("#map-canvas").css("width","100%"); 调整地图大小。所以我想同步一个 jQuery CSS 事件和一个谷歌地图事件。
非常感谢,
时间
编辑
我想在左侧显示一个侧边栏,所以当有人点击地图时,侧边栏会出现并且地图必须重新加载(中心应该保持不变)。
为了向您展示,我做了一个jsfiddle,但这次地图行为是完美的。 jsfiddle 仅包含我的部分代码,否则我将不得不发布更多内容。
我想我的编码太糟糕了,以至于地图有点跳,对吗?
【问题讨论】:
-
在代码中哪里调用 setCenter?顺便说一句,您的代码在哪里?是什么导致地图调整大小?
-
请发布 jsfiddle.net。这样一来,1)不清楚你到底做了什么2)不清楚你观察到了什么。 3) 重新居中时,地图当然会“跳跃”!这就是我所期望的。 4)如果你不想在调整大小后移动任何地图,为什么不先设置中心然后然后调整大小?
-
@MrUpsidown 我编辑了问题
标签: jquery google-maps google-maps-api-3 resize center