2011-09-21 13 views
8

Próba zmiany znacznika z elementu nakładki Zauważyłem, że funkcja setMarker() powoduje, że element nie jest widoczny. Oto przykład kodu.Android OverlayItem.setMarker(): Zmień znacznik dla jednego elementu

//Create new marker 
Drawable icon = this.getResources().getDrawable(R.drawable.marker); 

//Set the new marker to the overlay 
overlayItem.setMarker(icon); 
+0

znalazłeś rozwiązanie tego problemu? Mam do czynienia z tym samym problemem. wywoływanie setMarker() z konkretnym drawable sprawia, że ​​ikona jest niewidoczna ... – MobileCushion

+1

Musisz określić prostokąt ograniczający za pomocą 'setBounds()' – slybloty

+1

który rzeczywiście działa, powinieneś odpowiedzieć na pytanie;) – MobileCushion

Odpowiedz

11

skaczącego prostokąt musi być określona dla rozciągliwej:

//Create new marker 
Drawable icon = this.getResources().getDrawable(R.drawable.marker); 

//Set the bounding for the drawable 
icon.setBounds(
    0 - icon.getIntrinsicWidth()/2, 0 - icon.getIntrinsicHeight(), 
    icon.getIntrinsicWidth()/2, 0); 

//Set the new marker to the overlay 
overlayItem.setMarker(icon); 
0

Wierzę, że to będzie działać:

public void addOverlay(final OverlayItem overlay) 
    { 
     creditOverlay.add(overlay); 
     populate(); 
     boundCenter(customMarker); 
    } 

Trzeba będzie zadzwonić boundCenter lub boundCenterBottom dodając nakładki na liście map nakładki. W SetMarker() wystarczy ustawić niestandardowego producenta.

+0

Spowoduje to użycie wszystkich elementów ten sam znacznik, chyba że metoda została zmieniona na: 'addOverlay (OverlayItem, Drawable) – slybloty

Powiązane problemy