Google maps API V3:如何为平移设置相同的边界,无论缩放级别如何

时间:2011-11-02 16:04:14

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

我使用谷歌地图api V3创建了一个自定义地图(幻想地图),默认情况下,平移是无限制的。 我的地图非常有限,我不希望用户能够在它外面平移,无论变焦。

我在这里阅读了一个关于它的帖子:How do I limit panning in Google maps API V3?

这很好,但不知何故,它对每个缩放级别都不适用。

您可以使用相同的代码清楚地看到问题:http://econym.org.uk/gmap/example_range.htm

在此示例中,在默认缩放级别,您可以在地图的最右上方看到一些土地(“卑尔根”)。 但是你缩放得越多,这些土地就越多地从地图中移出并变得无法到达。 这正是我用自己的地图用同样的脚本得到的...... 如果我以默认的缩放级别设置boudaries,我缩放的越多,地图的边缘越远。

是否存在任何解决方法以保持完全相同的boudaries,无论缩放级别如何?

谢谢。

1 个答案:

答案 0 :(得分:1)

我不是百分百肯定我正在关注你的问题..但我会试试。这个例子的工作方式是测试视图的中心是否在边界...所以边界实际上小于卑尔根...极限的右上角实际上是在视图中心的海洋中at at zoom ..所以当你放大时,中心位于同一个位置,右上方会变得更近。

解决方案是用边界检查替换中心检查..

if((allowedBounds.contains(map.getBounds()))...

如果你在外面,那么你就可以map.panToBounds(allowedBounds)。

应该工作..试试看,如果你还有问题请告诉我们,我会仔细看看。

编辑:哇老问题......哦,好吧:)。