我在OpenLayers3示例中探索有趣的功能没有任何困难。但是,当我将下面的代码复制到本地.html文件并在同一浏览器中打开时,某些功能(例如矢量图层)将停止工作。
例如,Earthquakes heatmap只有黑色基础层,而热量(矢量)层根本不显示。通过CDN可以正确访问所有CSS和js。我在3台不同的计算机上测试过很多例子。
有谁能说出可能导致这个问题的原因以及如何解决? 非常感谢。
答案 0 :(得分:0)
问题很可能是示例中数据的网址是相对路径,而您没有所需的数据。在地震热图示例中,热图的数据源在此块中设置:
var vector = new ol.layer.Heatmap({
source: new ol.source.Vector({
url: 'data/kml/2012_Earthquakes_Mag5.kml',
format: new ol.format.KML({
extractStyles: false
})
}),
blur: parseInt(blur.value, 10),
radius: parseInt(radius.value, 10)
});
除非您使用相同的相对路径在本地托管2012_Earthquakes_Mag5.kml
,否则将无法找到数据。数据的网址实际上是http://openlayers.org/en/v3.11.1/examples/data/kml/2012_Earthquakes_Mag5.kml,您可以在本地下载并提供服务以测试示例。