OpenLayers.Layer.GML抛出JS错误

OpenLayers.Layer.GML抛出JS错误,openlayers,kml,gml-geographic-markup-lan,Openlayers,Kml,Gml Geographic Markup Lan,我正在尝试将KML文件加载到我的Openlayers地图中。我在JS文件中添加了以下代码行,它抛出了一个错误。添加此行后,我的地图甚至无法加载: var layer = new OpenLayers.Layer.GML("KML", "kml/mykml.kml", {format: OpenLayers.Format.KML}); 我从中复制了它,只是更改了KML文件的路径以匹配我自己的路径。似乎有很多人都在使用它。我遗漏了什么?GML层已被弃用,声明它将在3.0中删除,并且2.12版的GM

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

var layer = new OpenLayers.Layer.GML("KML", "kml/mykml.kml", {format: OpenLayers.Format.KML});
我从中复制了它,只是更改了KML文件的路径以匹配我自己的路径。似乎有很多人都在使用它。我遗漏了什么?

GML层已被弃用,声明它将在3.0中删除,并且2.12版的GML层没有api文档,因此它可能会以某种方式被破坏,可能最好将向量层与Protocol.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
        })
    })
})

它会抛出什么错误?