8

ja wymyślił tego postu, ale jest za przestarzałe Google Maps APIMap Markers z tekstem w mapach Google Android API v2

http://tech.truliablog.com/2012/02/23/custom-map-markers-for-android-google-maps/

w nowym API, nie mogłem znaleźć w łatwy sposób aby to zrobić. W rzeczywistości nie mogłem tego zrobić w ogóle.

Po prostu chcę mieć TextView jako Marker na mapie z rysunkiem 9Patch jako tłem tekstu. Trulia wciąż robi to z nowym API v2 w swojej obecnej aplikacji. Można to sprawdzić tutaj

Trulia current app

Jak mogę to zrobić?

+2

można użyć okna informacyjnego. https://developers.google.com/maps/documentation/android/marker – Raghunandan

+1

Czy spojrzałeś na powyższy obrazek? Czy małe znaczniki wydają się być dla Ciebie oknem informacyjnym? – tasomaniac

+0

Wygląda mi to jak okno informacyjne. Jeśli nie, to czego szukasz. Czy sprawdziłeś również opublikowany link? – Raghunandan

Odpowiedz

3

O ile mi wiadomo, nie jest to obecnie obsługiwane przez mapy google api v2. Z drugiej strony możesz zrobić dynamicznie bitmapę dla swojego znacznika i zapisać wartość, którą chcesz w niej pokazać. Niestety, mogą wystąpić problemy z wydajnością, jeśli masz dużo pinezek.

Canvas canvas = new Canvas(bitmap); 
canvas.drawText("Your text", textXOffset, textYOffset, mPictoPaint); 
MarkerOptions options = new MarkerOptions().position([…]).icon(BitmapDescriptorFactory.fromBitmap(bitmapResult)); 
Marker newMarker = map.addMarker(options); 

Należy pamiętać, że bitmap musi być zmienny. Ponadto będziesz musiał skalować obraz bazowy (prawdopodobnie za pomocą 9.patcha) do swoich potrzeb.

+0

Próbuję zrobić coś takiego przez wiele godzin. Już to zrobiłem, ale nie mogę dodać tła do rysowania 9Patch. – tasomaniac

+0

Czy [this] (http://stackoverflow.com/a/6828754/900937) pomógłby? Chociaż może to nie być zmienne, więc może być dodatkowe przetwarzanie do zrobienia. – Nerkatel

+0

OK ten link jest również pomocny, ale są tam zmienne xiy. Nie znam wysokości faktycznego tekstu, zanim narysuję 9-pozycyjny rysunkowy. Jak mogę skorzystać z kodu w ostatnim łączu i użyć funkcji drawText()? – tasomaniac

Powiązane problemy