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?
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:
Wie Sie verstehen, sollte der Großteil des Codes neu geschrieben werden, damit er zu Google Map API V2 passt.
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.
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.
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
Tags und Links java android google-maps geopoints