【问题标题】:Google maps API V3: how to set same boundaries for panning, whatever the zoom levelGoogle maps API V3:如何为平移设置相同的边界,无论缩放级别如何
【发布时间】:2011-11-02 16:04:13
【问题描述】:

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

我在这里读到了一个帖子:How do I limit panning in Google maps API V3?

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

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

在此示例中,在默认缩放级别下,您可以在地图的最右上角(“卑尔根”)看到一些土地。 但是,您放大的越多,这些土地就越会脱离地图并变得无法到达。 这正是我用我自己的地图用相同的脚本得到的...... 如果我将边界设置为默认缩放级别,则缩放越多,地图的边缘就越无法触及。

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

谢谢。

【问题讨论】:

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


    【解决方案1】:

    我不能 100% 确定我是否在关注您的问题.. 但我会尝试。这个例子的工作方式是测试视图的中心是否在边界内......所以边界实际上比卑尔根小......边界的右上角实际上是在视图中心的海洋中在 at zoom.. 所以当你放大时,中心在同一个点,右上角变得更近了。

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

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

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

    应该可以..试一试,如果您仍有问题,请告诉我们,我会仔细研究。

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

    【讨论】:

      猜你喜欢
      • 2011-08-28
      • 2023-03-05
      • 1970-01-01
      • 2015-04-14
      • 2021-11-24
      • 1970-01-01
      • 1970-01-01
      • 2014-06-13
      • 2011-04-16
      相关资源
      最近更新 更多