Obecnie pracuję nad aplikacją, która używa niestandardowego TileSource do wyświetlania danych w Google Maps. Otrzymuję te dane w postaci obrazów * .png i używam URLTileProvider.Tworzenie przezroczystości TileOverlays
Wszystko działa dobrze, ale teraz próbuję uczynić TileLayer przezroczystym, a przynajmniej częściowo. Celem jest, aby warstwa była widoczna, ale bazowe Mapy Google wciąż świecą. Jakoś utknąłem, ponieważ nie wiem, jak to osiągnąć.
- Nie mogę znaleźć drogę do pełnego wdrożenia niestandardowego TileProvider, wydaje się można tylko przedłużyć URLTileProvider
- Serverside imagemanipulation nie jest możliwe, ponieważ dane są podane
- Nie ma opcji, żeby dokonać TileOverlay przezroczysty? (Alfa, przezroczystość, przejrzystość)
Byłbym bardzo pomocne, jeśli ktoś mógłby schować mnie we właściwym kierunku, albo powiedz mi, czy Google Maps API V2 dla Androida naprawdę nie obsługuje tej funkcji.
W ten sposób zrobiłem to w końcu: Stworzyłem własny niestandardowy TileProvider, który pobrał płytkę za pośrednictwem strumienia danych z adresu URL, a następnie wygenerował bitmapę za pomocą 'BitmapFactory.decodeByteArray' w celu modyfikacji za pomocą tej funkcji: ' private Bitmap adjustOpacity (Bitmap bitmap) ' Bitmap.Config conf = Bitmap.Config.ARGB_8888; Bitmap bmp = Bitmap.createBitmap (256, 256, conf); Płótno canvas = nowe płótno (bmp); Farba malarska = nowa farba(); paint.setAlpha (tileOpacity); canvas.drawBitmap (mapa bitowa, 0, 0, farba); return bmp; } – Elysium
Mam podobny problem, Elysium i ja również mam własny TileProvider. Ale uważam, że nie mogę zmienić przejrzystości kafelka po jego narysowaniu. Czy używasz "adjustOpacity" w dowolnym momencie po jego narysowaniu? – aez
Czy zmieniłeś bitmapę z powrotem na bajt [] po dopasowaniu krycia? W przeciwnym razie, w jaki sposób utworzyłeś kafelek z bitmapy do zwrócenia przez getTile()? Dzięki. – paul