2013-04-22 146 views
0

我想将KML文件加载到我的Openlayers地图中。我将以下代码行添加到了我的JS文件中,并引发错误。OpenLayers.Layer.GML投掷JS错误

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

我从here复制它,只是改变了路径KML文件,以我自己的匹配:在我加入这行我的地图甚至不会加载。似乎很多人在使用它就好了。我错过了什么?

+0

它扔了什么错误? – 2013-04-25 00:05:57

回答

0

GML图层已被弃用,documentation指出它将在3.0版本中被删除,而2.12版本没有用于GML图层的api文档,所以它可能在某种程度上被破坏,可能最好使用Protocol.HTTP的Vector层, 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 
     }) 
    }) 
})