Java 当Android谷歌地图的位置发生变化时,相机如何移动

Java 当Android谷歌地图的位置发生变化时,相机如何移动,java,android,Java,Android,我是android和java的初学者 我正在使用Android谷歌地图API mGoogleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(currentLatLng,18),1000,空) 使用[animateCamera]按下按钮可实现将相机移动到其当前位置的功能 我想让摄像机跟上我的位置 [Thread]尝试使用[sleep]应用[animateCamera],但谷歌地图停止 如何在Android中应用它?在您的谷歌地图上使用setO

我是android和java的初学者

我正在使用Android谷歌地图API

mGoogleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(currentLatLng,18),1000,空)

使用[animateCamera]按下按钮可实现将相机移动到其当前位置的功能

我想让摄像机跟上我的位置

[Thread]尝试使用[sleep]应用[animateCamera],但谷歌地图停止


如何在Android中应用它?

在您的谷歌地图上使用setOnCameraChangeListener:

LatLngBounds.Builder builder = new LatLngBounds.Builder();
builder.include(latlng);

map.setOnCameraChangeListener(new OnCameraChangeListener() {

@Override
public void onCameraChange(CameraPosition arg0) {
    // Move camera
    map.moveCamera(CameraUpdateFactory.newLatLngBounds(builder.build(), 10));
    // Remove listener to prevent position reset on camera move
    map.setOnCameraChangeListener(null);
}

在您的谷歌地图上使用SetonCamerach Angelistener:

LatLngBounds.Builder builder = new LatLngBounds.Builder();
builder.include(latlng);

map.setOnCameraChangeListener(new OnCameraChangeListener() {

@Override
public void onCameraChange(CameraPosition arg0) {
    // Move camera
    map.moveCamera(CameraUpdateFactory.newLatLngBounds(builder.build(), 10));
    // Remove listener to prevent position reset on camera move
    map.setOnCameraChangeListener(null);
}

检查此代码以首先检查位置权限,然后获取当前位置并将相机移动到当前位置

LocationManager manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        if (checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED &&
                checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {

            LatLngBounds.Builder builder = new LatLngBounds.Builder();
            Location location = manager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
            LatLng latLngOfMyLocation = new LatLng(location.getLatitude(), location.getLongitude());
            builder.include(latlng);
            map.moveCamera(CameraUpdateFactory.newLatLngBounds(builder.build(), 8));

            return;
        }

检查此代码以首先检查位置权限,然后获取当前位置并将相机移动到当前位置

LocationManager manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        if (checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED &&
                checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {

            LatLngBounds.Builder builder = new LatLngBounds.Builder();
            Location location = manager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
            LatLng latLngOfMyLocation = new LatLng(location.getLatitude(), location.getLongitude());
            builder.include(latlng);
            map.moveCamera(CameraUpdateFactory.newLatLngBounds(builder.build(), 8));

            return;
        }

你能给我演示一下代码帮助吗?你能给我演示一下代码帮助吗?你能给我演示一下代码帮助吗