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

Google maps API V3: how to set same boundaries for panning, whatever the zoom level

本文关键字:边界 缩放 设置 V3 API maps Google      更新时间:2023-09-26

我用google map api V3创建了一个自定义地图(幻想地图),默认情况下,平移是无限的。我的地图是非常有限的,我不希望用户能够平移到它之外,无论缩放。

我读了一个线程关于它在这里:我如何限制平移在谷歌地图API V3?

它很好,但是,不知何故,它并不是对每个缩放级别都有效。

同样的代码可以很清楚地看到问题:http://econym.org.uk/gmap/example_range.htm

在本例中,在默认缩放级别下,您可以在地图的最右上角看到一些陆地("卑尔根")。但你放大的越多,这些土地就会从地图上消失得越多,变得越来越遥不可及。这正是我用相同脚本制作的地图所得到的结果。如果我将边界设置为默认缩放级别,则缩放越大,地图的边缘就越难以触及。

是否有任何解决方案,以保持完全相同的边界,无论缩放级别?

谢谢。

我不能100%肯定我听懂了你的问题。但我会尽力的。这个例子的工作方式是测试视图的中心是否在边界内…所以边界实际上比卑尔根更小。上限的右上角实际上是在视野中心的海洋中。因此,当你放大时,中心在同一个位置,右上方变得更近。

解决方案是用边界检查代替中心检查…

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

如果你在外面,你可以直接映射。pantobounds (allowedBounds)

应该. .试一试,如果你还有问题,告诉我们,我来仔细看看。

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