Frage

Ich lade ein KML in eine Google-Map-Objekt-Datei mit dem folgenden Code:

map = new GMap2(document.getElementById("map_canvas")); 
geoXml = new GGeoXml(kml);
GEvent.addListener(geoXml, "load", function() {
    geoXml.gotoDefaultViewport(map);
    // I would like to read the KML contents here
});
map.addOverlay(geoXml);
// ...

Ich mag die Ortsmarken aus der KML-Datei lesen und diese in einer Liste angezeigt werden soll. Ich weiß, dass die Informationen, die ich brauche an den Browser übertragen werden, aber ich weiß nicht, wie es zugreifen zu können.

War es hilfreich?

Lösung

Sie können es nicht über die API zugreifen, aber die Daten sind in verschleierten Eigenschaften innerhalb GGeoXml Objekt zur Verfügung. Betrachtet man es in Firebug, fand ich, dass die Informationen hier: geoxml. $ q.ia. Sehen Sie es selbst zu sehen, die Eigenschaften, die Sie benötigen (Name, Beschreibung, usw.).

Andere Tipps

Sie können die KML erhalten vom GGeoXml

hat eine Variable im Fenster

geoXml = new GGeoXml("http://mapgadgets.googlepages.com/cta.kml",
                         function(){
                              geoXml.getKml(
                                function(a){
                                  myKml = a;
                                  alert(myKml);
                                });} );

versuchen Sie es hier ansehen: http://code.google.com/apis/ajax/playground /? exp = Karten # map_geoxml_kml

nur um eine Zeile ändern, alternativ, wenn Sie der Rückruf von GGeoXml nicht verwenden möchten, können Sie getKml () in eine andere Funktion aufrufen, nachdem die Dinge fertig geladen haben, vorausgesetzt Ihr geoXml raus nicht abgewischt

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top