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.

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top