如何将 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 程序集。
我有一个使用 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 程序集。