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

是否可以使用新的Google Maps API v2更改myLocation的缩放级别? 如果你设置了GoogleMap.setEnableMyLocation(true); 你在地图上find一个button来find你的位置。 如果你点击它,地图会把你带到你的位置,并放大到一定的水平。 我可以改变这个缩放比较less或更多?

您可以使用默认的myLocation标记进行点击更改。 但是,如果您希望应用一旦find就自动放大您的位置,那么我会查看我对这个问题的回答

请注意,我提供的答案没有放大,但如果您修改onLocationChanged方法是如下所示,您可以select你喜欢的任何缩放级别:

@Override public void onLocationChanged(Location location) { if( mListener != null ) { mListener.onLocationChanged( location ); //Move the camera to the user's location and zoom in! mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(location.getLatitude(), location.getLongitude()), 12.0f)); } } 

你也可以使用:

 mMap.animateCamera( CameraUpdateFactory.zoomTo( 17.0f ) ); 

要将缩放值更改为最小值= 2.0和最大值= 21.0之间的任何所需值。

API警告说,并非所有位置的值都是最大缩放处或附近的值。

有关CameraUpdateFactory可用的缩放方法的更多信息,请参阅CameraUpdateFactory

与位置 – 在新的GoogleMaps SDK中:

 mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(chLocation,14)); 

与HeatfanJohn的解决scheme略有不同,我将缩放比例改变为当前的缩放比例:

 // Zoom out just a little map.animateCamera(CameraUpdateFactory.zoomTo(map.getCameraPosition().zoom - 0.5f)); 
 Location locaton; double latitude = location.getlatitude; double longitude = location.getlongitude; 

如果您想保存缩放或一直获取,只需要调用以下内容即可

 int zoom = mMap.getCameraPosition().zoom; //To set that just use mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(getlatitude(), getlongitude),zoom); 
Interesting Posts