OpenLayers.Layer.GML抛出JS错误

时间:2013-04-22 15:27:24

标签: openlayers kml gml-geographic-markup-lan

我正在尝试将KML文件加载到Openlayers地图中。我将以下代码行添加到我的JS文件中,它会引发错误。添加此行后,我的地图甚至无法加载:

var layer = new OpenLayers.Layer.GML("KML", "kml/mykml.kml", {format: OpenLayers.Format.KML});

我从here复制了它,只是改变了KML文件的路径以匹配我自己的路径。似乎很多人都在使用它就好了。我错过了什么?

1 个答案:

答案 0 :(得分:0)

GML图层已弃用,documentation表示它将在3.0中删除,并且版本2.12的GML图层没有api文档,因此它可能会以某种方式被破坏,并且可能最好使用带有协议的Vector层.HTTP和Strategy.Fixed。

此代码(字面意思取自KML示例,带有文件名更正)应该可以完成工作:

var layer = new OpenLayers.Layer.Vector("KML", {
    strategies: [new OpenLayers.Strategy.Fixed()],
    protocol: new OpenLayers.Protocol.HTTP({
        url: "kml/mykml.kml",
        format: new OpenLayers.Format.KML({
            extractStyles: true, 
            extractAttributes: true,
            maxDepth: 2
        })
    })
})