Migrationen von Android Maps-API-Versionen 1 bis 2

8

Hintergrund:

Ich habe das Problem eines anderen geerbt und versuche, eine App zum Laufen zu bringen. Mehrere Entwickler haben das Projekt aufgegeben und jetzt bin ich an der Reihe. Ich bin ein iOS-Entwickler von Beruf, aber ich habe ein paar einfache Android-Projekt abgeschlossen.

Die Problem-App ist ein natives Android, das ursprünglich mit API Level 7 erstellt wurde und stark um Google Maps API Version 1 herum gebaut ist. Ich habe keinen Zugang zu den Originalschlüsseln, weshalb ich gezwungen bin, auf Google zu aktualisieren Karten Version 2.

Ich habe bereits eine neue Aktivität eingerichtet und gehe über die grundlegenden Tutorials hinaus, um eine funktionierende Karte zu erhalten. Keine Probleme dort, aber ich bin auf Elemente wie GeoPoint blockiert und scheint nicht in der Lage zu finden, viele Informationen über seine Ersetzung zu finden.

Meine Frage ist dies:

Gibt es einen Migrationspfad, um von API-Version 1 zu API-Version 2 zu wechseln, oder muss ich die gesamte Map-Komponente neu codieren? GeoPoints, benutzerdefinierte Pins und Overlays enthalten?

    
warpedspeed 08.05.2013, 01:59
quelle

2 Antworten

12

Die traurige Antwort ist, dass die meisten Objekte von Google Map API V1 durch neue Objekte in Google Map API V2 ersetzt werden.

Beispiel: Anstatt GeoPoints zu verwenden, verwenden Sie Latlng punkte. Overlays sind ebenfalls verschwunden und durch Polylines und Polygones ersetzt.

Sieh dir diese Antwort an, die ich hier gegeben habe:

Konvertieren Sie Android App, die Karten API V1 zu Maps Android API V2 verwendet

Und werfen Sie einen Blick auf diesen Blogbeitrag, den ich geschrieben habe und der Sie mit der Google Map API V2-Implementierung in Ihrer App beginnen lässt:

Google Map API V2

Wie Sie verstehen, sollte der Großteil des Codes neu geschrieben werden, damit er zu Google Map API V2 passt.

    
Emil Adz 08.05.2013, 02:05
quelle
0

Beim Wechsel zu v2 der Google Maps-API für Android werden Sie sofort feststellen, dass es sich um eine vollständig neue API handelt, bei der die Rückwärtskompatibilität sehr gering ist.

Sie werden viele Kompilierungsfehler sehen, da viele der vorhandenen Klassen jetzt fehlen, wie MapActivity, GeoPoint, ReticleDrawMode und Overlay.

Die neuen Objekte sind alle im Paket com.google.android.gms.maps. * enthalten.

  • Nutzerstandort

Android Maps v1

In Maps v1 wurde MyLocationOverlay verwendet, um den Standort des Benutzers zu ermitteln

%Vor%

Android Maps v2

Sie können die Anzeige eines "Mein Standort" -Knopfes auf der Karte sehr einfach wie folgt aktivieren:

%Vor%

Die Schaltfläche "Mein Standort" wird nur dann in der oberen rechten Ecke des Bildschirms angezeigt, wenn die Ebene "Mein Standort" aktiviert ist. Wenn ein Benutzer auf die Schaltfläche klickt, wird die Kamera animiert, sich auf den aktuellen Standort des Benutzers zu konzentrieren, wenn der Standort des Benutzers derzeit bekannt ist.

  • Markierungen hervorheben

Das Markieren von Markern ist sehr einfach geworden. Das Ändern des Markierungssymbols wurde zu einem Einzeiler.

Android Maps v1

%Vor%

Android Maps v2

%Vor%

Weitere Schritte überprüfen Dieses Tutorial

    
GeekOnJava 01.07.2015 11:56
quelle