代码之家  ›  专栏  ›  技术社区  ›  Fabian Jakobs

如何从ggeoXML对象获取kml数据

  •  1
  • Fabian Jakobs  · 技术社区  · 15 年前

    我使用以下代码将kml文件加载到谷歌地图对象中:

    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 回复  |  直到 14 年前
        1
  •  1
  •   Mourner    15 年前

    您不能通过API访问它,但是这些数据在ggeoXML对象内的模糊属性中是可用的。在Firebug中,我发现了以下信息: GEOXML.$Q.I.亲自查看它以查看所需的属性(名称、描述等)。

        2
  •  3
  •   Berwyn    14 年前

    你可以从GgeoXML中获取KML

    在窗口中有一个变量

    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不会被清除。