2015-07-15 11 views
5

Czy istnieje sposób na wykorzystanie grafiki wektorowej jako znacznika mapy google? Wiem, że mapy google pobierają bitmapę dla znacznika, ale mam grafikę wektorową (pochodzącą z serwera) i nie jestem pewien, jak wyświetlić to jako znacznik?Grafika wektorowa używana do znacznika mapy google

Dziękuję

+2

Kto kiedykolwiek przegłosował, może mógłbyś poświęcić 4 sekundy na powiedzenie dlaczego. To jest całkowicie poprawne pytanie – Snake

Odpowiedz

1

Technicznie, jeśli jesteś w stanie wyrenderować obraz wektorowy jako Drawable, możesz użyć go jako znacznika mapy. Rysunki wektorowe na Androida są skomplikowane, ale być może już rozwiązałeś ten problem.

Musisz programowo utworzyć zapisywalną bitmapę o pożądanym rozmiarze (podaj swój stały rozmiar w kroplach, aby dostosować ją do gęstości ekranu), utwórz płótno oparte na tej bitmapie, ustaw granice na swoim Drawable i narysuj na płótno. Twoja mapa bitowa będzie zawierała rendering Twojej Szuflady i możesz z niej utworzyć Marker.

+0

Więc to jest mój problem, w jaki sposób mogę uzyskać ten wektor do rysowania? :) Brakuje mi związku między grafiką wektorową a grafiką, którą Android podoba – Snake

+0

@Snake Android rozumie VectorDrawables (** podzbiór ** plików SVG) tylko od Lollipopa. Alternatywnie (i lepiej w tym momencie) możesz skorzystać z bezpłatnej biblioteki parsowania SVG, która zwróci losowanie ze standardowego pliku SVG. –

+0

Żadna biblioteka parsowania SVG nie jest idealna i powinieneś naprawdę zaatakować najniższy możliwy profil SVG, aby zmaksymalizować kompatybilność: preferowany jest SVG Tiny lub SVG Basic. Możesz również uzyskać kompatybilność z VectorDrawable w starszych wersjach, korzystając z biblioteki "MrVector" lub korzystając z biblioteki pomocy technicznej. Nie wiem, który format akceptuje lub zwróci serwer, ale najlepszą opcją jest umożliwienie serwerowi przeprowadzenia transformacji do bitmapy. – BladeCoder

0

ale mam plik grafiki wektorowej i nie jestem pewien, jak to osiągnąć?

Otwórz w aplikacji do rysowania wektorowego i eksportuj jako bitmapę (PNG) do użycia na Androidzie. Jest to mniej bolesna droga niż cokolwiek innego.

+0

Szkoda, że ​​tak nie było :). Problem polega na tym, że pochodzi on z serwera, tak aby został przesłany przez użytkowników. Wyjaśnię to pytanie jako "plik może wprowadzający w błąd" – Snake

+1

, a następnie Twój serwer powinien renderować go do bitmapy? Używanie wektorów na Androida to raczej P.I.T.A. ponieważ większość metod systemowych oczekuje bitmap. Nadal możesz stworzyć własny, niestandardowy widok i renderować grafikę wektorową (a może jest już taki komponent zewnętrzny - musisz trochę przeszukać) –

+0

Cały powód, dla którego chcę, użyć grafiki wektorowej, aby zaoszczędzić na rozmiarze musi być pobrane. Będzie to animacja, która obejmuje wiele obrazów (rzeczy typu sprite). Jeśli użyję obrazów z serwera, to pobieranie będzie problemem, ponieważ będzie ich dużo. Używanie grafiki wektorowej jest "supposdly", aby być matematyką, która instruuje system, jak je narysować, aby miał mniejszy rozmiar. – Snake

Powiązane problemy