Я пытаюсь использовать BingMap в SharpMaps следующим образом:
TileLayer tileLayer = new TileLayer(
new BingTileSource(BingRequest.UrlBing,"", BingMapType.Hybrid), "TileLayer - Bing ");
/*
tileLayer.CoordinateTransformation = new CoordinateTransformationFactory().CreateFromCoordinateSystems(
ProjNet.CoordinateSystems.GeographicCoordinateSystem.WGS84,
ProjNet.CoordinateSystems.ProjectedCoordinateSystem.WebMercator);
*/
SharpMap.Layers.VectorLayer vlay = new SharpMap.Layers.VectorLayer(layername: "World");
MapBox.Map.Layers.Add(item: vlay);
ProjNet.CoordinateSystems.Transformations.CoordinateTransformationFactory
ctFact = new CoordinateTransformationFactory();
vlay.CoordinateTransformation = ctFact.CreateFromCoordinateSystems(
ProjNet.CoordinateSystems.GeographicCoordinateSystem.WGS84,
ProjNet.CoordinateSystems.ProjectedCoordinateSystem.WebMercator
);
vlay.ReverseCoordinateTransformation = ctFact.CreateFromCoordinateSystems(
ProjNet.CoordinateSystems.ProjectedCoordinateSystem.WebMercator,
ProjNet.CoordinateSystems.GeographicCoordinateSystem.WGS84
);
MainMap.Map.BackgroundLayer.Add(tileLayer);
, как показано в документации. OSM и GoogleMaps прекрасно отображают весь мир и идеально выровнены.
BingMaps показывает только северную часть Америки. Насколько я знаю, Bing также использует проекцию Меркатора и имеет те же границы мира, что и OSM и Google. Я также пытался перейти на WebMercator и WGS84 и (также безуспешно на EPSG: 900913 GoogleMaps Globa Mercator) без особого успеха. Я думаю, что это все еще имеет отношение к проекции. Как мне изменить это, чтобы показать весь мир, выровненный по Bing {Hybrid, Aerial}
Я использую
- SharpMap 1.1.0.0 с BruTile 0.7. 4.4 в .NET 4.6