在Android中居中地图标记

我使用以下代码在缩放级别显示单个标记,但不会将地图标记放在地图上。 永远只会显示一个标记:

LatLng latLng = new LatLng(Latitude, Longitude); cameraUpdate = CameraUpdateFactory.newLatLngZoom(latLng, 11.0f); 

这段代码将居中,但不提供任何缩放:

 LatLngBounds bounds = latLngBuilder.build(); cameraUpdate = CameraUpdateFactory.newLatLngBounds(bounds, 30); 

我需要居中和缩放。

缩放的正确值在2.0和22.00之间。

在此之后,您必须添加此行

 GoogleMap mMap; mMap.moveCamera(CameraUpdateFactory.newLatLngBounds(latlng, 10)); 

关于缩放,您可以从文档缩放中读取:缩放级别,范围为2.0到21.0。 低于此范围的值设置为2.0,高于此值设置为21.0。 增大要放大的值。并非所有区域的最大缩放级别都有图块。

您可以在http://developer.android.com/reference/com/google/android/gms/maps/CameraUpdateFactory.html上查看

尝试以下

 LatLng coordinate = new LatLng(Latitude, Latitude); CameraUpdate yourLocation = CameraUpdateFactory.newLatLngZoom(coordinate, 11.0f); map.animateCamera(yourLocation); 

你也可以做到这一点(更清洁的方式)

 CameraPosition cameraPosition = new CameraPosition.Builder() .target(Latitude, Latitude) // Center Set .zoom(11.0f) // Zoom .bearing(90) // Orientation of the camera to east .tilt(30) // Tilt of the camera to 30 degrees .build(); // Creates a CameraPosition from the builder map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); 

https://developers.google.com/maps/documentation/android/views?hl=fr-FR#moving_the_camera

这是因为您需要将相机移动到您创build的CameraUpdateFactory ,如下所示:

 LatLng latLng = new LatLng(Latitude, Longitude); map.animateCamera(CameraUpdateFactory.newLatLng(latLng, 11); 

如果你不想要animation,那么你可以使用:

 map.moveCamera(CameraUpdateFactory.newLatLng(latLng, 11);