Como obter os dados KML de um objeto GGeoXml
-
19-09-2019 - |
Pergunta
eu carregar um arquivo KML em um objeto google map usando o seguinte código:
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);
// ...
Eu gostaria de ler os marcadores do arquivo KML e exibi-los em uma lista. Eu sei que a necessidade de informação I está sendo transferido para o navegador, mas eu não sei como acessá-lo.
Solução
Você não pode acessá-lo através da API, mas os dados estão disponíveis nas propriedades ofuscado dentro GGeoXML objeto. Olhando para ele no Firebug, eu achei que a informação aqui: geoxml. $ q.ia. Olhe para você mesmo para ver as propriedades que você precisa (nome, descrição, etc.).
Outras dicas
Você pode obter o KML do GGeoXML
tem uma variável na janela
geoXml = new GGeoXml("http://mapgadgets.googlepages.com/cta.kml",
function(){
geoXml.getKml(
function(a){
myKml = a;
alert(myKml);
});} );
testá-lo aqui: http://code.google.com/apis/ajax/playground /? exp = mapeia # map_geoxml_kml
apenas mudar para uma linha, em alternativa, se você não quiser usar o retorno de chamada de GGeoXML você pode chamar getKml () em alguma outra função depois que as coisas têm de carregamento acabado, desde o seu geoxml não se dizimado