2012-09-05 62 views
1

我正在研究一个项目,该项目要求我在网页上的给定区域(div)中显示整个地球地图(Google地图中的缩放级别0)。另外,我必须以这样的方式显示地图,即整个世界在不同的分辨率集合上保持可见(这些显示分辨率从1024x768开始并且向上连续六个分辨率)。如何获得当前的显示分辨率,然后决定将地图初始化为哪个缩放级别?我不需要缩放级别与屏幕分辨率的比例或任何东西。只是我的预先定义的分辨率集测试缩放级别,所以我可以使用if语句来做到这一点。根据显示分辨率设置Google地图缩放级别

+0

无效!没有更多的回复,虽然问题被恰当地标记了! –

回答

0

这是哪一种语言?在JavaScript,你可以做到以下几点:

<script type="text/javascript"> 
if ((screen.width<=1024) && (screen.height<=768)) { 
window.location.replace('http://mappagewithresolutionlowerthan1024x768.com'); 
} 
else { 
    window.location.replace('http://mappagewithresolutiongreaterthan1024x768.com'); 
} 
</script> 

这将意味着你必须为每种类型的显示不同的网页。所以这可能不是最好的方式,但至少有获取屏幕尺寸的命令。

然后可以使用

map.setZoom(map.getZoom()+1); 

设置缩放级别和刚刚尝试了哪些屏幕最适合自己的(可能有一个列表的在线某处)

退房:How to set the Google Map zoom level to show all the markers?一些更多的提示。

但是,如果你不是在JavaScript的工作会那么这是没用的

好运虽然:)

+0

我将使用JavaScript在客户端和AJAX和/或JSON上显示地图,以显示其上的数据点(实际上,这不是该问题的一部分)。 您提供的解决方案需要我为显示地图开发单独的页面。这是一个解决方案,但不是我正在寻找的。看,谷歌地图是在div内渲染的(或者也可能是其他一些块元素)。在我的网页中,地图会与网页上的其他信息一起显示,因此我无法真正使用此选项。我想要的是在地图初始化时设置缩放级别,以便显示整个地球! –

+0

上司:我已经做了一些关于这个话题的研究,并且通过了你提供给我的链接。在那个人的情况下,他们想要设置缩放级别来显示所有的数据点,而我试图实现的是不同的。 –

0
map.fitBounds(viewport) 

此方法将视口,并根据给定的坐标缩放级别。您可以使用0到180的坐标构建一个视口对象(类型LatLngBounds)。有关更多详细信息,请参阅the maps reference。此解决方案适用于我的项目。

+0

请参阅,但区别在于,如果由于某种原因,说叠加/引脚过于靠近,地图将不得不放大,从而会从地图中切断世界其他地区。我想要做的是在地图初始化时获得屏幕分辨率,然后设置特定的缩放级别,以便在不切断任何零件的情况下显示整个地图。我不需要在运行时更改缩放级别。 –

相关问题