2013-04-22 85 views
26

我正在做一個應用程序,谷歌地圖,但當我嘗試添加「我的位置」按鈕,因爲參考說不起作用...GoogleMaps v2的我的位置按鈕Android,未顯示

這就是我該怎麼辦:

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap(); 

     locManager = (LocationManager)getSystemService(LOCATION_SERVICE); 
     providersList = locManager.getAllProviders(); 
     provider =locManager.getProvider(providersList.get(0)); 
     precision = provider.getAccuracy(); 
     req = new Criteria(); 
     req.setAccuracy(Criteria.ACCURACY_FINE);   
     inside = false; 

     map.getUiSettings().setMyLocationButtonEnabled(true); 

     buildPolygon(); 
     drawPolygon(); 
     startLocalization(); 
    } 

我以前map.getUiSettings().setMyLocationButtonEnabled(true);作爲谷歌的參考展示。我不知道發生了什麼事..

回答

49

myLocationButtonEnabled默認爲true,當setMyLocationEnabled圖層啓用時顯示。

試試這個:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap(); 

    // Add this line 
    map.setMyLocationEnabled(true); 

    locManager = (LocationManager)getSystemService(LOCATION_SERVICE); 
    providersList = locManager.getAllProviders(); 
    provider =locManager.getProvider(providersList.get(0)); 
    precision = provider.getAccuracy(); 
    req = new Criteria(); 
    req.setAccuracy(Criteria.ACCURACY_FINE);   
    inside = false; 

    //map.getUiSettings().setMyLocationButtonEnabled(true); 

    buildPolygon(); 
    drawPolygon(); 
    startLocalization(); 
} 

setMyLocationEnabledDocumentation
setMyLocationButtonEnabledDocumentation

+3

真的!!!哦,上帝.. facepalm! 很多感謝...它的作品完美的知道。 沒有看到這個MyLocationEnale。再次,謝謝! – Shudy 2013-04-22 15:17:55

+1

不時發生我們最好的:)。很高興我能幫上忙。祝你好運! – jnthnjns 2013-04-22 15:20:09

+1

在我的情況下,添加setMyLocationEnabled(true)沒有幫助,除非同時我的代碼獲取/偵聽位置。不知怎的,這觸發了藍點出現在地圖上。 – Yar 2014-07-12 10:56:22

2

只需添加map.setMyLocationEnabled(true);創建地圖後

map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap(); 

是這樣的

map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap(); 

map.setMyLocationEnabled(true);