在任何屏幕上缩放谷歌地图以适应世界

时间:2013-07-01 19:42:13

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

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

[[url removed]]

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

我的问题与缩小到“世界”水平有关。我目前正在使用3的缩放级别。但是,结果高度依赖于视口的大小/ DPI。缩放级别3在我的桌面上是正确的,但在我的智能手机上放大了太远,然后只显示非洲。将其设置为零将使其适用于智能手机,但会为我的桌面多次显示世界。

我需要的是一种可靠地设置缩放级别的方法,无论视口大小如何,缩放级别都能完全实现视图中的整个世界。我希望有一个简单的方法吗?我觉得我忽略了一些非常重要的东西。

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

2 个答案:

答案 0 :(得分:2)

无法完成。你可以靠近,但有离散的缩放级别。

我会尝试:

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

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

答案 1 :(得分:1)

您可以detect the screen size in Javascript了解访问设备是桌面设备还是移动设备,然后相应地设置zoomlevel变量以加载地图