在我的应用中,我正在使用谷歌地图v2 api,
我有以下代码,当活动首次启动时,显示整个世界,蓝色图钉显示我的位置。但是,它不会放大到我的直接位置。但是,每当我在一段时间后再次调用此方法时(使用show my location按钮),我会将其缩放到我想要的水平。
public void onLocationChanged(Location location)
{
if(location != null)
{
double latitude = location.getLatitude();
currentLat = location.getLatitude();
double longitude = location.getLongitude();
currentLon = location.getLongitude();
LatLng latLng = new LatLng(latitude, longitude);
if(googleMap != null)
{
googleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
googleMap.animateCamera(CameraUpdateFactory.zoomTo(13));
LatLngBounds bounds = this.googleMap.getProjection().getVisibleRegion().latLngBounds;
if (!bounds.contains(new LatLng(location.getLatitude(), location.getLongitude())))
{
googleMap.animateCamera(CameraUpdateFactory.newLatLng(new LatLng(location.getLatitude(), location.getLongitude())));
}
}
}
答案 0 :(得分:1)
我猜你在谈论地图视图的相机位置和缩放级别。下面的代码应该可以正常工作,前提是你有正确的纬度和长度,当活动加载时相机应该移动:
CameraPosition cameraPosition = new CameraPosition.Builder().target(new LatLng(17.385044,78.486671)).zoom(12).build();
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
您可以从本教程中学到很多东西:
http://www.androidhive.info/2013/08/android-working-with-google-maps-v2/