如何从本地服务器为 Openlayers“KML 中的地震”读取 KML 文件?

我在本地服务器上使用以下 EarthQuake 地图:https ://openlayers.org/en/v4.6.5/examples/kml-earthquakes.html

我的“视图”文件夹中有一个独立的“map.html”用于我的应用程序中的地图。实现这个工作正常,地图加载,并使用示例数据:

url: 'https://openlayers.org/en/v4.6.5/examples/data/kml/2012_Earthquakes_Mag5.kml'

数据显示在地图上,到目前为止一切都很好

通过转到这个'data-url',一个文件被下载。所以我用我自己的 KML 数据点下载和编辑这个文件。然后我将此文件放在与我的“map.html”(视图文件夹)相同的文件夹中。

我试图通过路径手动引用它,但遇到了一些 CORS 问题,然后我找到了一些 xmlhttprequest,但不确定这是正确的路径,因为它应该是一个文件 (?) ..... 所以这一切都沸腾了向下:

我如何从 HTML-eartquake-file 中的脚本标签中引用我的 kml 文件到同一文件夹中的这个文件?

2020 年 2 月更新:

我认为现在 CORS 问题已被删除。但是,当我尝试实现它时,它不起作用:

  1. 如果我在 VectorSource - URL 中使用 Openlayer 示例链接;https://openlayers.org/en/v4.6.5/examples/data/kml/2012_Earthquakes_Mag5.kml,我的应用程序下载这样的文件:“filename.kml”

  2. 如果我在我的服务器上使用我自己的文件,我会得到一个像“文件名”这样的文件

在 express/nodejs 中,我发送这样的文件:

router.get("/mydata", function (req, res) {
    res.sendFile(path + "mydata.kml");});

以下是 Chrome 下载栏中的示例:

http://img.mukewang.com/61c45eed0001343804500043.jpg

如何发送带扩展名的文件?那能解决我的问题吗?



绝地无双
浏览 291回答 1
1回答

明月笑刀无情

如果您使用的是 IIS,则需要转到管理面板并添加.kml到 MIME 类型。如果您计划很多,添加.geojson(application/json) 和.gml和.gpx(text/xml)的地图应用程序也可能有用。您还需要为您的数据文件夹启用跨源访问
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript