我正在尝试将KML文件加载到Openlayers地图中。我将以下代码行添加到我的JS文件中,它会引发错误。添加此行后,我的地图甚至无法加载:
var layer = new OpenLayers.Layer.GML("KML", "kml/mykml.kml", {format: OpenLayers.Format.KML});
我从here复制了它,只是改变了KML文件的路径以匹配我自己的路径。似乎很多人都在使用它就好了。我错过了什么?
答案 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
})
})
})