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);