Как получить данные KML из объекта GGeoXml - PullRequest
1 голос
/ 06 января 2010

Я загружаю файл KML в объект карты Google, используя следующий код:

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);
// ...

Я хотел бы прочитать метки из файла KML и отобразить их в виде списка. Я знаю, что информация, которая мне нужна, передается в браузер, но я не знаю, как получить к ней доступ.

Ответы [ 2 ]

3 голосов
/ 17 февраля 2010

вы можете получить KML от GGeoXML

есть переменная в окне

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

попробуйте здесь: http://code.google.com/apis/ajax/playground/?exp=maps#map_geoxml_kml

просто измените на одну строку, или, если вы не хотите использовать обратный вызов GGeoXML, вы можете вызвать getKml () в какой-то другой функции после завершения загрузки, если ваш geoXml не уничтожен

1 голос
/ 06 января 2010

Вы не можете получить к нему доступ через API, но данные доступны в запутанных свойствах внутри объекта GGeoXML. Глядя на это в Firebug, я нашел эту информацию здесь: geoxml. $ q.ia. Посмотрите сами, чтобы увидеть нужные вам свойства (имя, описание и т. Д.).

...