是否有从xamGeographicMap tile x,y到地理坐标(lat,long)的转换?

时间:2013-10-04 21:22:47

标签: wpf bing-maps infragistics wms

我正在尝试使用xamGeographicMap(在Infragistics WPF控件中)从内部GeoServer上运行的WMS服务中检索其背景图块。此服务要求您为其提供纬度/长度边界框,而不是平铺x / y位置。但是,当我在我的派生GetTileLayers中覆盖MapTileSource时,我只会向tilePositionXtilePositionYtileLevel提供。如何将其转换为lat / long?

当我尝试将Bing Maps WPF控件连接到同一服务时,我遇到了类似的问题,但它已由此处提供的TileSystem类解决:http://msdn.microsoft.com/en-us/library/bb259689.aspx。我尝试使用与xamGeoGraphicMap相同的转化类无效。

2 个答案:

答案 0 :(得分:2)

事实证明,您实际上可以使用MSDN上提供的TileSystem类来实现此目的。我的错误是假设tileLevel等于zoom。在查看了一些示例Infragistics示例代码之后,我遇到了以下几行:

var zoom = tileLevel - 8;

在调用TileSystem.PixelXYToLatLong时使用此转换,我能够获得所需的值。如果您的WMS服务需要米,请确保将边界从度数转换为米。

答案 1 :(得分:1)

你应该为此编写自定义方法,因为没有任何内置方法。

在Infragsaitics论坛中,讨论了类似的问题。你可以看到附在那里的样本:

http://www.infragistics.com/community/forums/p/84442/423636.aspx#423636