我成功了overlayed a WMS layer然而,在谷歌地图v3中,由于图 block 上的信息是透明的黑色,因此在深色背景(如卫星 map )上看不清楚,例如看一些图 block :
( This was the WMS link 检索该图 block )
问题:如何修改上述 WMS 请求以将前景色(当前为黑色)更改为某种自定义颜色(例如红色)?换句话说,如何设置图层样式?服务器显然能够在这一层执行此操作,因为可以通过 their web map application 执行此操作。 (仅适用于 IE),您可以在其中选择颜色。例如,请参阅此 map 图像:
( The following link 用于检索图像 - 请注意,它包含比例和 Logo ,因此它不是正确的图 block 。)
不幸的是,这个 Web 应用程序不使用 WMS 来获取此样式 map ,因此我不能仅将样式参数复制到 WMS 请求。 我必须通过 WMS 请求进行样式设置(因为此其他请求格式是专有的,检索整个 map - 不是为图 block 设计 - 并且它似乎不支持 WGS 坐标) - 如何我应该这样做吗?
我尝试过:
- 看看WMS documentation ,特别是version 1.1.1
- 看看SLDs ,但掌握起来似乎相当复杂......
- 看看GetCapabilites command output对于 WMS 服务器
- 此外,查看 DescribeLayer和 GetStyles我想要的图层的命令输出 (HLMCR) 我什至不知道该图层是否支持 WMS 样式...
我迷路了,如果您为我指出正确的方向或信息(如果它甚至可以在 WMS 中解决(对于这一层)),我将不胜感激。
“不可能”对我来说也是一个有用的答案!
提前致谢。
最佳答案
乍一看,这似乎是一个 Mapserver 5.x 实现,并且 getCapativity 指出,UserDefinedSymbolization SupportSLD="1" 在 map 级别启用,IIRC 意味着所有图层都应该继承它。
因此,理论上您应该能够在 GET 请求中或在某个文件中提供 SLD,并将 SLD 的 URL 提供给 GET 请求,然后一切就绪。
编写 SLD 会很烦人,但如果您认为某些 SLD 应该可以工作但不起作用,请将其粘贴到此处。
关于google-maps - 如何设置透明叠加 WMS 图层的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8320512/