我尝试在使用 Mapsui 创建 WmsProivder 时添加其他参数。我在文档中读到,目前 Mapsui 不会自动获取 ServiceDescription,因此您必须向 URL 添加其他参数。然而,当我尝试时,我总是收到“找不到服务标签”错误。
private static async Task<WmsProvider> CreateWmsProviderAsync()
{
var wmsUrl = "https://mapservices.weather.noaa.gov/eventdriven/services/radar/radar_base_reflectivity_time/ImageServer/WMSServer?SERVICE=WMS&TIME=";
wmsUrl = wmsUrl + DateTime.Now.AddHours(-12).ToString("yyyy-MM-ddTHH:mm:ss.fffZ");
var provider = await WmsProvider.CreateAsync(wmsUrl);
provider.ContinueOnError = true;
provider.TimeOut = 20000;
provider.CRS = "EPSG:3857";
provider.AddLayer("0");
provider.SetImageFormat(provider.OutputFormats[1]);
return provider;
}
实现这一目标的正确方法是什么?
WMS GetCapability 文档的链接位于此处。
WmsProvider 有一个 ExtraParams 字段,它是一个字典,键/值对将作为额外参数添加到请求中。
您指定的 url 是 WMS 服务的根目录,不应更改该 url 以添加参数。