【问题标题】:How to enable cross origin resource sharing (CORS) in Cesium Sandcastle for Geoserver WMS Get request如何在 Cesium Sandcastle 中为 Geoserver WMS Get 请求启用跨源资源共享 (CORS)
【发布时间】:2015-10-30 17:38:14
【问题描述】:

我正在尝试使用 localhost:8080 地理服务器上的数据在 cesium sandcatle 中进行测试和练习。

This picture will explane everything

另外,我想问一下,“如何获取加载到 Cesium BaseLayerPicker 中的 GeoServer 层列表” 从示例http://localhost:8080/geoserver/masterrad/wfs?request=GetCapabilities 给出 XML 文件,在工作空间“masterrad”中可能包含层。如何从该 XML 中提取名称并放入 BaseLayerPicker

谢谢

【问题讨论】:

    标签: geoserver sandcastle cesium


    【解决方案1】:

    我认为这可能是两个不相关的问题,但我会尽量回答这两个问题。

    您可以使用 CORS 过滤器插件在 Geoserver 中启用 CORS: http://software.dzhuvinov.com/cors-filter-installation.html

    至于您的第二个问题,Cesium 没有内置支持查询 WFS GetCapabilities,但 TerriaJS 有: https://github.com/TerriaJS/terriajs

    TerriaJS 是一个建立在 Cesium 之上的开源库,最初是为澳大利亚的 NationalMap 开发的,后来被用于许多其他项目。对于无法运行 Cesium 的系统,TerriaJS 还可以回退到 Leaflet。在您的服务器上运行 CORS 后,访问 nationalmap.gov.au(一个运行 TerriaJS 的站点),单击添加数据,输入您的 WFS URL,您应该会看到所有服务器层都显示在数据目录的底部。

    【讨论】:

    • 感谢您的回答。但是,在您为 CORS 提供的链接中,我是否需要更改 标签中的某些内容,或者只是复制到我的地理服务器的 web.xml 中?谢谢。
    • 您需要将 和 部分都添加到您的 web.xml 中,但您不需要对内容进行任何更改。只需复制/粘贴安装说明第 2 步中的内容即可。
    • @kring 我收到此错误访问来自原点 'localhost:8080/geoserver/sattawat/wms?BBOX=-1...' 的 XMLHttpRequest 已被 CORS 策略阻止:否 'Access-Control-Allow-Origin ' 请求的资源上存在标头。你知道我该如何禁用它吗?
    猜你喜欢
    • 2016-11-26
    • 2016-02-06
    • 2013-01-12
    • 2016-03-03
    • 2016-05-01
    • 2014-01-18
    • 2014-10-08
    • 2014-03-20
    相关资源
    最近更新 更多