2013-01-21 13 views
5

Mam wiele plików KML, które są rysowane w Google Earth i zawierają różne trasy. Teraz próbuję wyświetlić te w moim projekcie Android za pomocą Maps API V2.Importowanie pliku KML w Maps API V2

Czy istnieje biblioteka do importowania plików KML do projektu Android i wyświetlania ich na mapach? Znalazłem kod na przepełnieniu stosu (How to draw a path on a map using kml file?), który nie jest biblioteką.

Jeśli nie ma biblioteki, mam zamiar ją zbudować od zera.

+0

Mark, Jak daleko jesteście dalej? Jaką aplikację robisz? – danny117

+0

sprawdź to @ http://devaarapp.nl/. Strona De jest w języku niderlandzkim, a wersja online to wersja na iOS, ale aplikacja na Androida jest praktycznie taka sama. –

Odpowiedz

0

Na razie Zakładam, że nie ma tam biblioteki publicznej, która zrobi to za nas, więc zamierzam użyć kodu Google, aby dodać polilinie i wielokąty do mojej mapy po przeanalizowaniu danych w moim pliku KML. Zaktualizuje tę odpowiedź, jeśli biblioteka zostanie znaleziona.

Tworzenie polilinii i wielokątów:

// 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

To jest druga część tego, co polecam powyżej. Użyj prostego pliku KML lub innej biblioteki, aby przeanalizować plik KML. – Matthew

+0

Ok. Parsowałem mój KML z PHP. Skrypt ten odzwierciedla dwuwymiarową tablicę zawierającą wszystkie sieci i długości. Aplikacja wymaga jedynie tworzenia polilinii. Dzięki za wszystkie informacje –

+0

Istnieją również biblioteki PHP do parsowania KML - czy to, co używasz? Nie ma potrzeby robienia tego "ręcznie". – Matthew

0

właśnie aktualizacja na bibliotece KML dla części Maps API V2 pytania. Obecnie dostępna jest wersja beta produktu Google Maps KML Importing Utility.

Jest to część Google Maps Android API Utility Library. Jak udokumentowano umożliwia ładowanie plików KML ze strumieni

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

lub lokalnych zasobów

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

Po utworzeniu KmlLayer, zadzwoń addLayerToMap(), aby dodać importowanych danych na mapie.

layer.addLayerToMap(); 
+0

Jakiś pomysł na ustawienie detektora kliknięcia? –

Powiązane problemy