2015-02-23 29 views
1

我的應用程序中使用谷歌地圖API第2版,我想改變的傾斜,如果用戶達到縮放級別大於16如何改變只傾斜在谷歌地圖API

這裏越大我做了什麼到目前爲止

@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 
      } 
     } 
    }; 
} 

正如你可以看到我已經添加了一個偵聽器添加到地圖對象,該觸發器每當相機變化的位置,但我不知道如何改變相機的唯一的傾斜

回答

7

我已經添加了OnCameraChangeListener到地圖對象

mMap.setOnCameraChangeListener(getCameraChangeListener()); 

變化傾斜至60如果變焦大於15

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())); 
     } 
    }; 
} 
0

你的意思是tilting the map?您可以通過將tilt字段設置爲CameraPosition來完成此操作。

使用CameraUpdateFactory.newCameraPosition(CameraPosition)創建一個新的CameraUpdate其中CameraPosition是新建的(在這種情況下,除了傾斜外,其參數與position相同)。然後您可以使用moveCamera來應用更改。