我正试图从一个WMSMap层MapsUIMap。但是,WMS图层不会显示在Map上。我有一个简单的视图,只有一个MapControl(mapControl)
//create wms layer
public async Task CreateLayerAsync()
{
var layer = new ImageLayer("NOAA WMS")
{
DataSource = await CreateWmsProviderAsync(),
Style = new RasterStyle()
};
mapControl.Map?.Layers.Add(layer);
}
private static async Task<WmsProvider> CreateWmsProviderAsync()
{
const string wmsUrl = "https://mapservices.weather.noaa.gov/eventdriven/services/radar/radar_base_reflectivity_time/ImageServer/WMSServer";
var provider = await WmsProvider.CreateAsync(wmsUrl);
provider.ContinueOnError = true;
provider.TimeOut = 20000;
provider.CRS = "EPSG:84";
provider.AddLayer("0");
provider.SetImageFormat(provider.OutputFormats[1]);
return provider;
}
WMS GetCapabilities文档的链接是here。
有什么想法吗?这是我第一次深入GIS和Map渲染,所以任何指点都将不胜感激。
1条答案
按热度按时间lvmkulzt1#
如果你在经常使用的osm图块层上显示这个Map,你需要像这样设置CRS:
provider.CRS = "EPSG:3857";
如果你想显示NOAA层而不显示其他层,你可以使用
provider.CRS = "EPSG:4326";
。而不是EPSG:84