如何将 OpenStreetMap 作为背景层添加到我的 sharpmap 地图

How to add OpenStreetMap as background layer to my sharpmap map

我有一个使用 sharpmap 1.1 生成地图的网络应用程序(工作非常棒),现在我想添加一个 Open street 地图作为我当前地图的背景。我尝试了一些在线示例,但没有成功。

到目前为止,我已经尝试了以下方法。

   var ShapeDataProvider = new SharpMap.Data.Providers.ShapeFile(@"Local shp Path");
        var layer = new VectorLayer("test");
        layer.DataSource = ShapeDataProvider;
      var layerOSM = var layer = new VectorLayer("OSM");
layerOSM.DataSource = (SharpMap.Data.Providers.IProvider)(new SharpMap.Layers.TileAsyncLayer(new BruTile.Web.OsmTileSource(), "OSM"));
        _map.Layers.Add(layerOSM);
        _map.Layers.Add(layer);

到目前为止,我一直卡在这个错误中,似乎根本无法通过,

Argument 1: cannot convert from 'BruTile.Web.OsmTileSource' to 'BruTile.ITileSource'

我在项目中使用的程序集版本是

Sharpmap    1.1.0.0
 Brutile     0.7.4.4
 ProjNet     1.3.0.3
 NetTopologySuite  1.13.2.0
 GeoAPI   1.7.2.0

我已经添加了所有来自 Nuget 的内容,如果有人可以与我分享一段用于访问 OpenStreetMap 作为背景层的代码? 那将是一个救命恩人。

提前致谢,干杯!

我怀疑您的项目中引用了不同版本的 BruTile 程序集。