1

我使用以下代码将 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 文件中读取地标并将它们显示在列表中。我知道我需要的信息正在传输到浏览器,但我不知道如何访问它。

4

2 回答 2

3

您可以从 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 不会被清除

于 2010-02-17T07:07:49.097 回答
1

您无法通过 API 访问它,但数据在 GGeoXML 对象内的混淆属性中可用。在 Firebug 中查看它,我在这里找到了该信息:geoxml.$q.ia。自己查看以查看您需要的属性(名称、描述等)。

于 2010-01-06T15:09:57.240 回答