2013-07-28 12 views
14

Chciałbym, aby mój TileOverlay zachowywał się jak prawdziwe Mapy Google. Po powiększeniu kafelek jest nadal widoczny, ale pikselowany, dopóki nie zostanie pobrany nowy kafelek.Zachowaj widoczność kafelków podczas ładowania TileOverlay Map API v2 Android

Obecne zachowanie: po powiększeniu klocki znikają, a zobaczysz paskudną siatkę, a użytkownik musi poczekać na załadowanie nowych płytek. To trochę denerwujące.

Czy istnieje rozwiązanie tego problemu?

+0

Linki te są przydatne. Skorzystaj z linków. [Link1] (https://github.com/googlemaps/android-samples/tree/master/ApiDemos) [Link2] (https://developers.google.com/maps/documentation/android-api/tileoverlay) –

Odpowiedz

-1

ja obejść ten problem przez „obciążenia wstępnego” wszystkie zoomlevels przed pokazaniem mapy (tylko kopiuj/wklej z obecnego stanu, trzeba oczyścić):

@UiThread 
private void preloadAllZoomLevels(final float zoomLevel) { 
    if (zoomLevel == map.getMaxZoomLevel()) { 
     map.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lat, lng), 7)); 
     mapFragmentContainer.animate().alpha(1f); 
     return; 
    } 
    map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lat, lng), zoomLevel)); 

    final float nextZoomLevel = zoomLevel + 1; 
    map.setOnMapLoadedCallback(new GoogleMap.OnMapLoadedCallback() { 
     @Override 
     public void onMapLoaded() { 
      preloadAllZoomLevels(nextZoomLevel); 
     } 
    }); 
} 
-2

Zasadniczo, za każdym razem GoogleMap chce narysuj kafelek dla określonej współrzędnej - prosi o podanie tego kafelka. Możesz użyć kafelka statycznego (zobacz TileProvider) lub podać adres URL, więc GoogleMap trafi na twój serwer sieciowy i automatycznie pobierze ten kafelek (zobacz UrlTileProvider)

Nie wiem, czy to działa dla Ciebie! Ale możesz podzielić się szczegółami na temat swoich wymagań, jeśli to nie działa. Dzięki

+1

The TS wie, jak to działa, więc ta informacja nie dodaje żadnej wartości. – Boy

+0

Miła postawa. Jest to sposób Stackoverflow do moderowania. Twoja "odpowiedź" powinna w najlepszym wypadku zostać opublikowana. A jeśli jesteś kimś -1, to uprzejmie jest dodać komentarz, dlaczego to zrobiłeś. Właśnie podałeś ogólne informacje tutaj. Domyślam się, że jesteś tym, który dał mi również -1 ... całkiem profesjonalny – Boy

+0

Przepraszam, że cię nie dostałem! I nie jest to sprzeczne miejsce o + 1/-1 !! Po prostu pytam o mój punkt ujemny, nic więcej! Zostaw to.. –

Powiązane problemy