2013-04-22 5 views
26

Robię aplikację, z mapami google, ale kiedy próbuję dodać przycisk "moja lokalizacja", jak mówi odniesienie nie działa ...Przycisk Moja lokalizacja GoogleMaps v2 Android, nie wyświetlany

to jak mam zrobić:

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

użyłem map.getUiSettings().setMyLocationButtonEnabled(true); jak pokazuje w odniesieniu Google. Nie wiem, co się dzieje.

Odpowiedz

49

Domyślnie myLocationButtonEnabled jest wyświetlany i wyświetlany po włączeniu warstwy setMyLocationEnabled.

spróbuj tego:

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

NAPRAWDĘ !!! O Boże ... facepalm! Wielkie dzięki ... działa doskonale. Nie widzę tej opcji MyLocationEnale. Jeszcze raz dzięki!!! – Shudy

+1

Zdarza się od czasu do czasu :). Cieszę się, że mogłem pomóc. Powodzenia! – jnthnjns

+1

W moim przypadku dodanie setMyLocationEnabled (true) nie pomaga, chyba że w tym samym czasie lokalizacja jest pobierana/odsłuchiwana przez mój kod. W jakiś sposób powoduje to pojawienie się niebieskiej kropki na mapie. – Yar

2

po prostu dodać map.setMyLocationEnabled(true); utworzyć mapę

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

być tak

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

map.setMyLocationEnabled(true); 
Powiązane problemy