Wie man die KML-Daten von einem GGeoXml Objekt erhalten
-
19-09-2019 - |
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.
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