How to add OpenStreetMap as background layer to my sharpmap map

1.4k Views Asked by At

I have a web application which uses sharpmap 1.1 to generate maps(Works Pretty awesome), now i want to add an Open street map as background to my current map. I tried some online examples but no luck.

So far I've tried the below.

   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);

So far I'm stuck at this error and Literally no way pass this it seems,

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

The version of assemblies I'm using in my project are

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

I've added all are from Nuget, If someone could share me a piece of code which works in accessing OpenStreetMap as background layer? that'll be a life-saver.

Thanks in advance, Cheers!

1

There are 1 best solutions below

1
On BEST ANSWER

I suspect different versions of the BruTile assembly referenced in your projects.