我正在开发Windows Phone 8.1应用程序,并且想要显示Yandex Maps
而不是Bing Maps
在MapControl中显示。我使用yandex url设置了一个新的tile数据源。它可以工作,但是显示的图块具有较小的垂直偏移。
偏移量仅是一个问题,但会影响地标-它们在yandex磁贴上显示的位置错误,但在bing磁贴上正确显示。
问题不在坐标上,因为我是从浏览器的原始yandex映射中选择它们的。
在下面的示例中,yandex提供了彩色图块,灰色形状则来自bing映射。
在MapControl中设置yandex切片:
HttpMapTileDataSource dataSource = new HttpMapTileDataSource("http://vec02.maps.yandex.net/tiles?l=map&x={x}&y={y}&z={zoomlevel}");
MapTileSource tileSource = new MapTileSource(dataSource);
MyMapControl.TileSources.Add(tileSource);
我试图拦截MapControl的平铺请求并减少y
坐标的值,但结果是完全错误的。
拦截请求和修改值的结果 y
这是因为Yandex Maps和Bing Maps的地图投影略有不同。我不是投影专家,但是,您可以看到为Windows Forms和Presentation的Great Maps实现的MercatorProjection(针对Bing Map实现)和MercatorProjectionYandex(针对Yandex Maps实现)类之间的差异。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句