WinPhone 开发(7)-----通过自定义Mode来加载BingMaps的中文地图
2012-03-17 20:25
369 查看
通过Map的Mode属性可以修改地图的显示模式,可以设置为Microsoft.Phone.Controls.Maps命名空间下的AerialMode来显示卫星图,RoadMode显示路线图。虽然AerialMode、 RoadMode 都是英文地名,但是我们可以通过自定义Mode来加载BingMaps的中文TileServer来显示中文地名。
英文RoadMode的TileServer地址为http://t0.tiles.virtualearth.net/tiles/r{QuadKey}.png?g=213,另外中文RoadMode的TileServer为http://r3.tiles.ditu.live.com/tiles/r{QuadKey}.png?g=47。
在自己的ChineseMode,ChineseMode中添加自定义的ChineseTileSource层,ChineseTileSource重写父类的GetUri返回自己的Tile地址。最后用自定义Mode来加载地图。
public class ChineseMode : MercatorMode { private readonly MapTileLayer tileLayer; 4 public ChineseMode() : base() { tileLayer = new MapTileLayer(); tileLayer.TileSources.Add(new ChineseTileSource()); } 11 public override System.Windows.UIElement Content { get { return tileLayer; } } }
public class ChineseTileSource : LocationRectTileSource { public override Uri GetUri(int x, int y, int zoomLevel) { string quadkey = new QuadKey(x, y, zoomLevel).Key; 6 string uri = "http://r3.tiles.ditu.live.com/tiles/r" + quadkey + ".png?g=47"; return new Uri(uri); } }
map默认的mode是 Microsoft.Phone.Controls.Maps.RoadMode ,只要将它设定为ChineseMode就行。
虽然还是不太明白原理,但是多态、重写还是能理解的。
Project:http://115.com/file/dpfl5nmg#ChineseBingMap.rar
资料来源:http://dl.dbank.com/c0mo2dkq54 (最后一集)
扩展内容:/article/4658508.html
相关文章推荐
- Android移动开发-通过自定义算法代码来纠偏地图由GPS定位到的经纬度在地图上显示或解析位置时出现偏移的问题
- IClient for js开发之地图的加载
- iphone开发之表格组件UITableView的使用(四) 通过加载plist文件展示单组数据
- mybatis拦截器打印sql且通过自定义注解获取sql开发人信息
- Android开发之--将imageview设置圆角 并通过Glide加载出来
- Android自定义View基础开发之图片加载进度条
- IClient for js开发之地图的加载
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(三十七)地图自适应区域加载
- IOS开发UI篇之──自定义加载等待框(MBProgressHUD)
- Android开发之自定义地图
- 学习Mac开发第四弹 通过NSImageView加载图片
- ArcScene开发实例——加载地图文档
- [置顶] 百度地图开发之自定义大头针
- (android地图开发) 高德地图自定义对话框
- 【Cocos2d-x游戏引擎开发笔记(26)】中文和自定义字体
- 自定义View通过PorterDuffXfermode实现图片遮罩效果
- 【COCOS2DX-LUA 脚本开发之十四】解决自定义CPP类通过TOLUA++ BINDING LUACOCOS2D后编译到ANDROID运行黑屏(没有调用自定义CPP类)的问题!
- Iphone开发(十二)通过xib文件自定义列表中的行
- iOS开发 UISearchController的cancel按钮自定义中文取消,改变按钮标题颜色,去掉边框线
- [置顶] Android 自定义view之 Xfermode 制作动态文字加载动画