2013-01-21 8 views
5

Ich habe mehrere KML-Dateien, die in Google Earth gezeichnet werden und verschiedene Routen enthalten. Jetzt versuche ich diese in meinem Android-Projekt mit Maps API V2 anzuzeigen.Importieren von KML in Maps API V2

Gibt es eine Bibliothek zum Importieren von KML-Dateien in Ihr Android-Projekt und zum Anzeigen dieser in Karten? Ich habe einen Code auf Stack-Überlauf gefunden (How to draw a path on a map using kml file?), der keine Bibliothek ist.

Wenn keine Bibliothek zur Verfügung steht, werde ich diese von Grund auf neu erstellen.

+0

Mark, wie weit sind Sie auf diesem Weg? Welche Art von App machst du? – danny117

+0

überprüfen Sie es @ http://devaarapp.nl/. Die Website ist in Niederländisch und die Online-Demo ist die iOS-Version, aber die Android-App ist praktisch gleich. –

Antwort

0

Im Moment gehe ich einfach davon aus, dass es keine öffentliche Bibliothek gibt, die das für uns tut, also benutze ich den Code von Google, um Polylinien und Polygone nach dem Parsen der Daten in meiner KML-Datei hinzuzufügen. Aktualisiert diese Antwort, wenn eine Bibliothek gefunden wird.

erstellen Linien und Flächen:

// Instantiates a new Polyline object and adds points to define a rectangle 
PolylineOptions rectOptions = new PolylineOptions() 
     .add(new LatLng(37.35, -122.0)) 
     .add(new LatLng(37.45, -122.0)) // North of the previous point, but at the same longitude 
     .add(new LatLng(37.45, -122.2)) // Same latitude, and 30km to the west 
     .add(new LatLng(37.35, -122.2)) // Same longitude, and 16km to the south 
     .add(new LatLng(37.35, -122.0)); // Closes the polyline. 

// Set the rectangle's color to red 
rectOptions.color(Color.RED); 

// Get back the mutable Polyline 
Polyline polyline = myMap.addPolyline(rectOptions); 
+0

Dies ist der zweite Teil dessen, was ich oben empfehle. Verwenden Sie die einfache KML-Bibliothek oder eine andere Bibliothek, um Ihre KML zu analysieren. – Matthew

+0

Ok. Ich analysierte meine KML mit PHP. Dieses Skript zeigt ein zweidimensionales Array an, das alle Latts und Längen enthält. Die App muss nur Polylinien erstellen. Danke für alle Informationen –

+0

Es gibt auch PHP-Bibliotheken für das Parsen von KML - verwenden Sie das? Es ist nicht notwendig, dies manuell zu tun – Matthew

0

Nur ein Update auf die KML Bibliothek für Maps-API-V2 Teil der Frage. Es gibt jetzt eine Betaversion von Google Maps KML Importing Utility.

Es ist Teil der Google Maps Android API Utility Library. Wie dokumentiert ermöglicht es KML-Dateien aus Strömen

KmlLayer layer = new KmlLayer(getMap(), kmlInputStream, getApplicationContext()); 

oder lokale Ressourcen

KmlLayer layer = new KmlLayer(getMap(), R.raw.kmlFile, getApplicationContext()); 

Laden Nachdem Sie eine KmlLayer erstellt haben, rufen Sie addLayerToMap() die importierten Daten auf der Karte hinzuzufügen.

layer.addLayerToMap(); 
+0

eine Idee Click-Listener zu setzen? –