我正在try 从WMS的 map ,以层上的 map 用户界面 map .但是,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 GetCapability文档的链接是here.

有什么主意吗?这是我第一次深入研究地理信息系统和 map 渲染,因此,如果有任何建议,我将不胜感激.

推荐答案

如果在常用OSM瓷砖层上显示此 map ,则需要按如下方式设置CRS: provider.CRS = "EPSG:3857";

如果您想显示NOAA层而不显示其他层,您可以使用 provider.CRS = "EPSG:4326";.而不是EPSG:84

Csharp相关问答推荐

IComponition.获取IReadOnlyCollection的返回默认属性值

将委托传递到serviceccollection c#web API

读取配置文件(mytest. exe. config)

MAUI查询参数单一字符串项将不起作用

Mongo作为.NET中Testcontainers的副本集

使用可信第三方的Iext8.Net pdf签名

如何在没有前缀和可选后缀的情况下获取Razor Page Handler方法名称?

如何在ASP.NET Core8中启用REST应用程序的序列化?

是否有必要在ASP.NET Core中注册可传递依赖项?

自定义列表按字符串的部分排序

在C#中有没有办法减少大型数组中新字符串的分配?

在C#ASP.NET内核中使用INT AS-1进行控制器场景的单元测试

为什么我的用户界面对象移动到略低于实际目标?

Xamarin.Forms-如何创建可 Select 的显示alert 或弹出窗口?

使用postman 测试配置了身份的.NET 6应用程序

读取测试项目中的应用程序设置

ASP.NET核心MVC|如何在控制器方法之间传递值

HttpClient,上传文件时实现进度

除非首先访问使用的终结点,否则本地API上的终结点不起作用

MudBlazor MudTabs-->;选项卡内容高度