2016-04-13 10 views
2

Ich versuche, die Koordinaten meiner kml Ebene in meiner Android App zu bekommen, und ich kann einfach nicht finden, wie es geht.Wie bekomme ich eine Liste von Punkten von kml Ebene Android

ich habe diese kml Schicht:

KmlLayer layer = new KmlLayer(mMap, R.raw.allowedarea, getApplicationContext()); 

und ich versuche, die Latitude und Longtitude Liste seiner boundries Punkte zu bekommen.

ArrayList<LatLnt> latlitArray = layer.soemthing(); 

könnte alles finden, bitte Jungs helfen.

+0

Veröffentlichen Sie Ihre KML-Datei – antonio

+0

prüfen diese Frage SO [31166489] (http://stackoverflow.com/questions/31166489/google-my-maps-how-can-i-export-coordinates-from-a -network-linked-kml-Datei? rq = 1) und [13911205] (http://stackoverflow.com/questions/13911205/export-coordinates-from-kml) wenn es Ihnen helfen kann :) – KENdi

+0

http: // stackoverflow.com/a/39885632/1631285 – asozcan

Antwort

1

Dadurch wird rekursiv auf jede Ortsmarkierungsgeometrie innerhalb des Containers zugegriffen. Mir ist nicht bewusst, ob das erlangte Objekt neben List und LatLng tatsächlich eine Instanz einer anderen Klasse oder Sammlung sein kann.

public void accessContainers(Iterable<KmlContainer> containers) { 
    for(KmlContainer c : containers) { 
     if(c.hasPlacemarks()) { 
      for(KmlPlacemark p : c.getPlacemarks()) { 
       KmlGeometry g = p.getGeometry(); 
       Object object = g.getGeometryObject(); 

       if(object instanceof LatLng) { 
        LatLng latlng = (LatLng)object; 
        //Do more stuff with the point 
       } 

       if(object instanceof List<?>) { 
        List<LatLng> list = (List<LatLng>)object; 
        //Do more stuff with the list of points 
       } 

       Log.d(TAG, g.getGeometryType() + ":" + object.toString()); 
      } 
     } 
     if(c.hasContainers()) { 
      accessContainers(c.getContainers()); 
     } 
    } 
}