gpt4 book ai didi

javascript - 如何从本地服务器读取 Openlayers "EarthQuakes in KML"的 KML 文件?

转载 作者:行者123 更新时间:2023-12-02 22:33:43 28 4
gpt4 key购买 nike

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

我的应用程序中的“Views”文件夹中有一个独立的 map “map.html”。实现此功能正常, map 加载,并使用示例数据:

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

数据显示在 map 上,到目前为止一切正常

通过访问此“data-url”,将下载一个文件。因此,我使用自己的 KML 数据点下载并编辑此文件。然后我将此文件放在与“map.html”( View 文件夹)相同的文件夹中。

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

如何将 HTML-eartquake-文件中的脚本标记内的 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 下载栏的示例: enter image description here

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

谢谢

最佳答案

如果您使用的是 IIS,则需要转到管理面板并将 .kml 添加到 MIME 类型。如果您正在规划很多 map 应用程序,则添加 .geojson (application/json) 和 .gml.gpx (text/xml) 可能会也很有用。

enter image description here

您还需要为数据文件夹启用跨源访问

enter image description here

关于javascript - 如何从本地服务器读取 Openlayers "EarthQuakes in KML"的 KML 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58808064/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com