Comment obtenir les données KML à partir d'un objet GGeoXml
-
19-09-2019 - |
Question
Je charger un fichier KML dans un objet google map en utilisant le code suivant:
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);
// ...
Je voudrais lire les placemarks du fichier KML et les afficher dans une liste. Je sais que l'information nécessaire est transféré au navigateur, mais je ne sais pas comment y accéder.
La solution
Vous ne pouvez pas y accéder via l'API, mais les données sont disponibles dans les propriétés brouillées à l'intérieur objet GGeoXml. En regardant dans Firebug, je trouve que les informations ici: GeoXml. de q.ia de $. Regardez vous-même pour voir les propriétés dont vous avez besoin (nom, description, etc.).
Autres conseils
vous pouvez obtenir le KML du GGeoXml
ont une variable dans la fenêtre
geoXml = new GGeoXml("http://mapgadgets.googlepages.com/cta.kml",
function(){
geoXml.getKml(
function(a){
myKml = a;
alert(myKml);
});} );
essayer ici: http://code.google.com/apis/ajax/playground /? exp = cartes # map_geoxml_kml
il suffit de changer à une ligne, alternativement, si vous ne voulez pas utiliser la fonction de rappel de GGeoXml vous pouvez appeler getKml () dans une autre fonction après que les choses ont fini de charger, à condition que votre GeoXml ne soit pas effacé