如何设置 Android Google Maps API v2 地图以显示全球地图?

Posted

技术标签:

【中文标题】如何设置 Android Google Maps API v2 地图以显示全球地图?【英文标题】:How to set Android Google Maps API v2 map to show whole world map? 【发布时间】:2012-11-26 14:38:55 【问题描述】:

我正在开发一个在后台使用谷歌地图的安卓应用程序。当我启动应用程序时,我想显示一个洞词的地图。根据android google maps API v2:https://developers.google.com/maps/documentation/android/views设置特定缩放值的方式是“CameraUpdateFactory.zoomTo(float)”,同样的apihttps://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/CameraUpdateFactory#zoomTo(float)告诉这个函数的最小参数是2。 但是当我调用函数时: mMap.moveCamera(CameraUpdateFactory.zoomTo(2)); 世界地图的视口只是比澳大利亚大一点而已…… 如何一次显示整个世界地图?

PS:对于这次体验,我使用的是 google 示例代码,更具体地说,是“MarkerDemoActivity.java”

提前致谢,若昂

【问题讨论】:

我认为这可能是不可能的。即使在常规的 Google 地图应用中,您也无法缩放到可以看到整个世界的水平。 这不是很尴尬吗?我注意到标准的谷歌地图网络应用程序不能让用户看到整个世界,但是如果完全缩小这个谷歌地图插件你确实可以看到整个世界......daftlogic.com/projects-google-maps-distance-calculator.htm为什么不可能再缩小一点? 另外,***.com/questions/9893680/… 的问题显示了如何在网络版的谷歌地图 api 中做到这一点...... @Joao 你实现了吗?我想实现与您的问题类似的事情.. 【参考方案1】:

我们可以使用这段代码在android中覆盖整个地图:

<com.google.android.gms.maps.MapView
            xmlns:map="http://schemas.android.com/apk/res-auto"               
            android:name="com.google.android.gms.maps.SupportMapFragment"
            android:layout_
            android:layout_         
            map:cameraZoom="1" //or 0
            map:liteMode="true"
             />

【讨论】:

【参考方案2】:

我的猜测是缩放不能低于 2 或 3 是因为当显示区域大于 180 度时,VisibleRegion 的边界计算错误:http://code.google.com/p/gmaps-api-issues/issues/detail?id=5285。

如果此错误以正确的方式修复(即返回的LatLngs 是正确的)并且在这种情况下没有通过阻止缩放级别 2,Google 地图开发人员可能很容易让我们显示整个地图.

您可能希望在此处发布功能请求以获得 0 级缩放支持。

【讨论】:

以上是关于如何设置 Android Google Maps API v2 地图以显示全球地图?的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 Google Maps Android v2 上的语言环境问题?

Android Studio:包含 Google Maps 时的编译器设置

Android、Google Maps Android api、设置位置和地图类型

Android Google Maps v2 - 为 myLocation 设置缩放级别

Google Maps Android Studio - 如何禁用地图控件?

用户如何通过点击 google maps android 添加标记?