我想在我的应用程序中显示一个谷歌地图,该地图显示地球的一半,包含两个在同一视图中彼此相距约20,000公里的标记。
我尝试使用属性getMinZoomLevel(),但这还不够 - 它显示的第一个标记被一个大约只有半个大陆大小的区域所包围。有没有办法获得我想要的广阔视野?
最后已知用户位置(其中一个标记)的代码示例,其中zoomLevel为getMinZoomLevel():
map.moveCamera(CameraUpdateFactory.newCameraPosition(getCameraPositionFromLocationWithZoom(UserLocation.getInstance(App.getInstance().getApplicationContext()).getLastKnownLocation(), zoomLevel)));
答案 0 :(得分:1)
尝试类似的东西。
private LatLngBounds bounds;
LatLngBounds.Builder builder = new LatLngBounds.Builder();
builder.include(pointA);
builder.include(pointB);
//and other latlng points as you like...
bounds = builder.build();
map.animateCamera(CameraUpdateFactory.newLatLngBounds(
bounds, 20));
animateCamera将相机设置为特定点位置的动画。如果你有一个以上的点(LatLngBounds),它会将地图扩展为所有点都可见。
希望有所帮助。