如何设置 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。
如果此错误以正确的方式修复(即返回的LatLng
s 是正确的)并且在这种情况下没有通过阻止缩放级别 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 设置缩放级别