2013-07-28 3 views
14

Ich möchte, dass sich mein TileOverlay wie das echte Google Maps verhält. Wenn Sie hineinzoomen, ist die Kachel noch sichtbar, aber pixeliert, bis die neue Kachel heruntergeladen wurde.Kacheln während des Ladevorgangs sichtbar machen TileOverlay Map API v2 Android

Das aktuelle Verhalten ist: Wenn Sie hineinzoomen, verschwinden die Kacheln und Sie sehen das hässliche Raster, und der Benutzer muss warten, bis die neuen Kacheln geladen sind. Das ist irgendwie nervig.

Gibt es eine Lösung für dieses Problem?

+0

Diese Links sind hilfreich. Bitte beziehen Sie sich auf diese Links. [Link1] (https://github.com/googlemaps/android-samples/tree/master/ApiDemos) [Link2] (https://developers.google.com/maps/documentation/android-api/tileoverlay) –

Antwort

-1

arbeitete ich, um dieses Problem von „Vorbelastung“ alle zoomlevels bevor die Karte zeigt (nur Kopieren/Einfügen des aktuellen Zustands, müssen aufzuräumen):

@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

Im Wesentlichen will jedes Mal GoogleMap zu Kachel für bestimmte Koordinaten zeichnen - Sie werden aufgefordert, diese Kachel zur Verfügung zu stellen. Sie können entweder statische Fliese (siehe TileProvider) oder Sie können URL zur Verfügung stellen, so GoogleMap auf Ihren Webserver und Downloads: Diese Fliese geht automatisch (siehe UrlTileProvider)

Sie wissen nicht, ist es für Sie arbeiten! Sie können jedoch Details über Ihre Anforderungen teilen, wenn es nicht funktioniert. Danke

+1

TS weiß, wie es funktioniert, so dass diese Informationen keinen Wert hinzufügen – Boy

+0

Schöne Einstellung. Es ist der Stackoverflow Weg zu moderieren. Ihre "Antwort" sollte bestenfalls als Kommentar gepostet werden. Und wenn Sie jemand -1, ist es Höflichkeit, einen Kommentar hinzufügen, warum Sie das getan haben. Sie haben hier nur allgemeine Informationen gegeben. Ich nehme an, du bist derjenige, der mir eine -1 gab ... ziemlich professionell – Boy

+0

Sorry, ich habe dich nicht erwischt! Und es ist kein Streitpunkt über + 1/-1 !! Ich frage dich nur nach meinem Minuspunkt, sonst nichts! Lass es.. –