如何仅更改 Google 地图 API 中的倾斜度
How to change only the tilt in Google Map API
我的应用程序使用 Google 地图 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
}
}
};
}
如您所见,我已经为地图对象添加了一个侦听器,只要相机位置发生变化就会触发,但我不知道如何只改变相机的倾斜度
您是指 CameraPosition
的 tilting the map? You can do so by setting the tilt 字段吗?
使用 CameraUpdateFactory.newCameraPosition(CameraPosition)
创建一个新的 CameraUpdate,其中 CameraPosition 是新建的(在本例中,除了倾斜度外,参数与 position
相同)。然后您可以使用 moveCamera
应用更改。
我已将 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()));
}
};
}
我的应用程序使用 Google 地图 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
}
}
};
}
如您所见,我已经为地图对象添加了一个侦听器,只要相机位置发生变化就会触发,但我不知道如何只改变相机的倾斜度
您是指 CameraPosition
的 tilting the map? You can do so by setting the tilt 字段吗?
使用 CameraUpdateFactory.newCameraPosition(CameraPosition)
创建一个新的 CameraUpdate,其中 CameraPosition 是新建的(在本例中,除了倾斜度外,参数与 position
相同)。然后您可以使用 moveCamera
应用更改。
我已将 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()));
}
};
}