2016-08-02 19 views
1

Ich teste einige verschiedene Kartenarten in meiner Anwendung und ich würde wirklich gerne die Topo-Karte für bestimmte Bereiche nutzen und die MAP_TYPE_TERRAIN scheint zu Nimm das. Allerdings habe ich festgestellt, dass beim Zoomen zunächst die Konturlinien und die auf der Topokarte markierten Höhen zu sehen sind, Google jedoch ein anderes Kachel-Overlay darauf legt, das die Linien und die Höhen auswaschen kann. Es macht einen ordentlichen Effekt, weil es eine 3D-Art von Gefühl gibt, aber ich würde lieber die aktuellen Topo-Informationen für meine Zwecke behalten. Gibt es eine Einstellung oder etwas, das ich umschalten kann, um zu verhindern, dass die API diese zusätzliche Ebene hinzufügt? Wie gesagt, ich kann es am Anfang sehen, wenn ich in einen neuen Bereich schwenke oder in einen anderen Kachel-Satz zoome, der dann einfach ausgewaschen wird, wenn Google mit dem Malen der Karte fertig ist.Google Maps in meiner Android App mit GoogleMap.MAP_TYPE_TERRAIN wäscht die Höhenlinien und Höhen

Antwort

1

Es gibt keine Möglichkeit, das Standardverhalten bestimmter Kartentypen (TERRAIN, SATELITE usw.) zu konfigurieren. Was Sie tun können, ist mit Ihrer eigenen custom TileOverlays kommen.

Hier ist ein bisschen Intro über Tile Overlays.

Die einfachste und gebräuchlichste Methode zum Erstellen eines Kachel-Overlays ist . Geben Sie eine URL an, die auf das entsprechende Kachelbild verweist. UrlTileProvider ist eine Teilimplementierung von TileProvider, die auf einer URL basierende Bildkacheln bereitstellt. Diese Klasse erfordert, dass alle Bilder die gleichen Dimensionen haben.

Sie müssen UrlTileProvider.getTileUrl() implementieren, die die Kachelkoordinaten (x, y, Zoom) und gibt eine URL, die auf dem Bild verwendet werden soll für die Fliese akzeptiert. Die Methode sollte null zurückgeben, wenn keine Kachel für das angegebene x, y und Zoom ist. Eine URL kann auf eine Web-Ressource , ein Android-Asset oder eine Datei auf der lokalen Festplatte verweisen.

+0

Ich hatte davor Angst. –