【问题标题】:Zoom Google map to fit the world, on any screen在任何屏幕上缩放 Google 地图以适应世界
【发布时间】:2013-07-01 19:42:13
【问题描述】:

我有一个看似简单的情况,但还没有找到解决方案。这是一个临时的开发链接:

[[删除网址]]

如您所见,我们正在查看全屏 Google 地图。如果您允许页面访问您的位置,它将放大它。如果你想再次缩小到“世界”,可以点击右上角的地球图标。

我的问题与缩小到“世界”级别有关。我目前为此使用 3 的缩放级别。然而,结果很大程度上取决于使用的视口的大小/DPI。缩放级别 3 大约在我的桌面上,但在我的智能手机上放大得太远了,它只显示了非洲。将其设置为零将使其适合智能手机,但在我的桌面上显示世界数次。

我需要的是一种可靠地设置缩放级别的方法,无论视口大小如何,都能准确地完成整个视野。我希望有一个简单的方法来做到这一点?我觉得我在这里忽略了一些非常重要的东西。

请注意,我的问题与标记无关,我只是希望世界在屏幕上恰好适合一次,无论标记如何。

【问题讨论】:

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


    【解决方案1】:

    做不到。您可以靠近,但存在离散的缩放级别。

    我会尝试:

    var worldBounds = new google.maps.LatLngBounds(new google.maps.LatLng(-85,-180),
                                                   new google.maps.LatLng(85,180));
    map.fitBounds(worldBounds);
    

    然后调整 worldBounds 以获得两个平台上的最佳折衷视图。

    【讨论】:

    • 谢谢你,这里是深夜,所以我明天试试这个,然后再报告。
    【解决方案2】:

    您可以detect the screen size in Javascript了解访问设备是台式机还是移动设备,然后相应地设置缩放级别变量以加载您的地图

    【讨论】:

    • 谢谢。是的,如果没有其他办法,这将是我的策略。
    • 我最终使用这个公式来计算基于窗口宽度的缩放级别: var zl = Math.round(Math.log($(window).width()/512)) + 1;由于这是您的基本想法的变体,因此我将给予您正确的答案。
    猜你喜欢
    • 1970-01-01
    • 2012-10-11
    • 2012-05-10
    • 2021-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多