C # SharpMap - на картах Bing отображается только Северная Америка, а карта не выровнена - PullRequest
0 голосов
/ 17 октября 2019

Я пытаюсь использовать 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
...