android - 如何仅更改 Google Map API 中的倾斜度

标签 android google-maps-api-2

我的应用程序使用 Google map API v2,如果用户达到大于 16 的缩放级别,我想更改倾斜度

这是我到目前为止所做的

@Override
public void onMapReady(GoogleMap map) {
    //..    
    mMap = map;
    mMap.setOnCameraChangeListener(getCameraChangeListener());
}

public OnCameraChangeListener getCameraChangeListener()
{
    return new OnCameraChangeListener() 
    {
        @Override
        public void onCameraChange(CameraPosition position) 
        {
            Log.d(MainActivity.TAG, "Zoom: " + position.zoom);
            if(position.zoom > 16){
                // change tilt here
            }
        }
    };
}

正如你所看到的,我已经为 map 对象添加了一个监听器,只要相机位置发生变化就会触发,但我不知道如何只改变相机的倾斜度

最佳答案

我已经向 map 对象添加了一个OnCameraChangeListener

mMap.setOnCameraChangeListener(getCameraChangeListener());

如果缩放大于 15,则将倾斜度更改为 60

public OnCameraChangeListener getCameraChangeListener()
{
    return new OnCameraChangeListener() 
    {
        @Override
        public void onCameraChange(CameraPosition position) 
        {
            int mCameraTilt = (position.zoom < 15) ? 0 : 60;
            mMap.animateCamera(CameraUpdateFactory.newCameraPosition(
                    new Builder()
                    .target(position.target)
                    .tilt(mCameraTilt)
                    .zoom(position.zoom)
                    .build()));
        }
    };
}

关于android - 如何仅更改 Google Map API 中的倾斜度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28673862/

相关文章:

javascript - 如何根据预先确定的约束值自定义热图颜色?

javascript - 引用磁盘上的图像时 Cordova 中的短暂(500 毫秒?)延迟

android - 在 MVVM 架构中处理来自 api 端点的错误的最佳实践是什么?

android - 尝试在Android Studio中使用Gradle进行构建时出错

android 位置监听器不工作?

android - com.google.android.gms.location.internal.ParcelableGeofence',从方法 gls.a 中引用

android - 为什么我不能运行android模拟器? java.io.IOException : error=13, 权限被拒绝

android - 关闭应用程序时重置默认启动器

android - 如何通过 LatLng 点的 ArrayList 为标记设置动画?