高分求:Telerik:RadMap 如何自定义地图供应商。

接分为押宝 2012-08-15 03:15:55
目前:Telerik:RadMap 支持
•Bing Maps bing地图(英文)//考虑过引用中文bing,本人无法实现...
•OpenStreet Maps OpenStreet (中国数据不全)
•Empty Provider (空的提供者 ——自定义地图数据源)

附上本人自定义地图数据源 测试代码:

xmlns:local="clr-namespace:程序集目录(namespace为隐射出MyMapProvider类)"
<telerik:RadMap x:Name="radMap" >
<telerik:RadMap.Providers>
<local:MyMapProvider/> //使用MyMapProvider类作为自定义地图数据源
</telerik:RadMap.Providers>
<telerik:InformationLayer x:Name="informationLayer">....
</telerik:InformationLayer>
</telerik:RadMap>


public class MyMapProvider : TiledProvider
{
/// <summary>
/// Initializes a new instance of the MyMapProvider class.
/// </summary>
public MyMapProvider()
: base()
{
MyMapSource source = new MyMapSource();
this.MapSources.Add(source.UniqueId, source);
}
/// <summary>
/// Returns the SpatialReference for the map provider.
/// </summary>
public override ISpatialReference SpatialReference
{
get
{
return new MercatorProjection();
}
}
}


public class MyMapSource : TiledMapSource
{
/// <summary>
/// Initializes a new instance of the MyMapSource class.
/// </summary>
public MyMapSource()
: base(1, 20, 256, 256)
{
}
/// <summary>
/// Initialize provider.
/// </summary>
public override void Initialize()
{
// Raise provider initialized event.
this.RaiseIntializeCompleted();
}
/// <summary>
/// Gets the image URI.
/// </summary>
/// <param name="tileLevel">Tile level.</param>
/// <param name="tilePositionX">Tile X.</param>
/// <param name="tilePositionY">Tile Y.</param>
/// <returns>URI of image.</returns>
protected override Uri GetTile(int tileLevel, int tilePositionX, int tilePositionY)
{
int zoomLevel = ConvertTileToZoomLevel(tileLevel);
// Prepare tile url somehow ...
string quadkey = new QuadKey(tilePositionX, tilePositionY, tileLevel).Key;
string uri = "http://r3.tiles.ditu.live.com/tiles/r" + quadkey + ".png?g=47";
return new Uri(uri);
}
}


目前问题:protected override Uri GetTile()方法 不清楚里面如何实现 自定义地图数据获取,

只要能显示中国版本的地图就行,百度/搜狗/bing/谷歌 都可以。(若本人思路有问题,可指出.)

大牛帮帮忙,复制贴不要发,先谢了。
...全文
119 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
接分为押宝 2012-08-16
  • 打赏
  • 举报
回复
大家都说,ASP.NET人气旺,哎...!

麻烦 管理员 帮忙把帖子转到:多媒体/设计/Flash/Silverlight 开发

62,053

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧