谷歌地图显示活动首次启动时的世界

时间:2013-11-06 15:16:28

标签: android google-maps

在我的应用中,我正在使用谷歌地图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())));
            }

        }
    }

1 个答案:

答案 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/