2016-03-07 51 views
0

setLocationEnabled是一個屬性,它在地圖頂部顯示一個按鈕,使地圖轉到當前位置。在另一個按鈕中調用setLocationEnabled

但我想「隱藏」此按鈕並調用另一個自定義按鈕上的方法。有沒有辦法?我不想創建一個大代碼去當前位置,但速度並不快。我只想與setLocationEnabled(true)的功能相同的按鈕。

我該怎麼做?

回答

0

正如你可能知道,你可以隱藏用下面的當前位置按鈕:

UiSettings.setMyLocationButtonEnabled(false); 

現在,如果你想手動執行此任務,你必須做你自己的一些工作。首先,您需要獲取用戶的當前位置。這可以通過重寫LocationListener實現的onLocationChanged函數來獲取(並更新)。如果你不清楚如何做到這一點,請檢查描述它的documentationThis也可能證明有用!

其次,您需要通過設置地圖的相機來查看用戶的位置,並(可能)在該位置設置一個標記。下面是我在描述如何做到這一點最近用過的一個使用的功能:

public void moveToLocation(Location input) { 
    Double lat = (double) (input.getLatitude()); 
    Double lon = (double) (input.getLongitude()); 

    final LatLng location = new LatLng(lat, lon); 

    setLocMarker(location); 

    mainMap.moveCamera(CameraUpdateFactory.newLatLngZoom(location, 16)); 

    //if you want the camera to have an "animated" effect, you can perform the following 
    //mainMap.animateCamera(CameraUpdateFactory.zoomTo(16), 4000, null); 
} 

有關相機效果和動畫的更多信息,請參見本documentation

相關問題