/// <summary> /// 选择改变 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void rdo_CheckedChanged(object sender, EventArgs e) { LoadMapMode lm = LoadMapMode.Cache; if (rdoCache.Checked) { lm = LoadMapMode.Cache; } if (rdoCachefirst.Checked) { lm = LoadMapMode.CacheServer; } if (rdoServer.Checked) { lm = LoadMapMode.Server; } if (lm != _loadMode) { _loadMode = lm; if (LoadMapModeChanged != null) { LoadMapModeChanged(_loadMode); } Visible = false; } }
/// <summary> /// 构造方法 /// </summary> /// <param name="x"></param> /// <param name="y"></param> /// <param name="z"></param> /// <param name="parent"></param> /// <param name="mode"></param> /// <param name="loadmode"></param> public BTile(int x, int y, int z, Control parent, MapMode mode, LoadMapMode loadmode) { X = x; Y = y; Zoom = z; BMapControl = parent; Mode = mode; LoadMode = loadmode; }
private static string _sate_url = "http://shangetu{0}.map.bdimg.com/it/"; //卫星图切片URL /* http://online9.map.bdimg.com/onlinelabel/?qt=tile&x=796&y=287&z=12&styles=pl */ /* http://shangetu9.map.bdimg.com/it/u=x=796;y=287;z=13;v=009;type=sate&fm=46 */ /// <summary> /// 下载地图瓦片 /// </summary> /// <param name="x">瓦片方块横坐标</param> /// <param name="y">瓦片方块纵坐标</param> /// <param name="zoom">当前地图缩放级别(1-18)</param> /// <param name="map_mode">地图模式</param> /// <param name="load_mode">加载瓦片方式</param> /// <returns></returns> public Bitmap LoadMapTile(int x, int y, int zoom, MapMode map_mode, LoadMapMode load_mode) { if (load_mode == LoadMapMode.Server) //直接从服务器下载图片 { return TileFromServer(zoom, x, y, map_mode); } else if (load_mode == LoadMapMode.Cache) //从本地缓存中下载图片 { return TileFromCache(zoom, x, y, map_mode); } else if (load_mode == LoadMapMode.CacheServer) //先从本地缓存中找,如果没有则从服务器上下载 { Bitmap bitmap = TileFromCache(zoom, x, y, map_mode); if (bitmap == null) { bitmap = TileFromServer(zoom, x, y, map_mode); } return bitmap; } else { return null; } }
private static string _sate_url = "http://shangetu{0}.map.bdimg.com/it/"; //卫星图切片URL /* http://online9.map.bdimg.com/onlinelabel/?qt=tile&x=796&y=287&z=12&styles=pl */ /* http://shangetu9.map.bdimg.com/it/u=x=796;y=287;z=13;v=009;type=sate&fm=46 */ /// <summary> /// 下载地图瓦片 /// </summary> /// <param name="x">瓦片方块横坐标</param> /// <param name="y">瓦片方块纵坐标</param> /// <param name="zoom">当前地图缩放级别(1-18)</param> /// <param name="map_mode">地图模式</param> /// <param name="load_mode">加载瓦片方式</param> /// <returns></returns> public Bitmap LoadMapTile(int x, int y, int zoom, MapMode map_mode, LoadMapMode load_mode) { if (load_mode == LoadMapMode.Server) //直接从服务器下载图片 { return(TileFromServer(zoom, x, y, map_mode)); } else if (load_mode == LoadMapMode.Cache) //从本地缓存中下载图片 { return(TileFromCache(zoom, x, y, map_mode)); } else if (load_mode == LoadMapMode.CacheServer) //先从本地缓存中找,如果没有则从服务器上下载 { Bitmap bitmap = TileFromCache(zoom, x, y, map_mode); if (bitmap == null) { bitmap = TileFromServer(zoom, x, y, map_mode); } return(bitmap); } else { return(null); } }
/// <summary> /// 获取地图加载模式文本 /// </summary> /// <param name="load_mode"></param> /// <returns></returns> public static string GetLoadMapModeTitle(LoadMapMode load_mode) { if (load_mode == LoadMapMode.Cache) { return "仅从本地"; } if (load_mode == LoadMapMode.CacheServer) { return "本地优先"; } if (load_mode == LoadMapMode.Server) { return "仅从远程"; } return ""; }
/// <summary> /// 加载地图模式改变 /// </summary> /// <param name="loadMode"></param> void _bLoadMapModeControl_LoadMapModeChanged(LoadMapMode loadMode) { LoadMode = loadMode; }
/// <summary> /// 构造方法 /// </summary> /// <param name="x"></param> /// <param name="y"></param> /// <param name="z"></param> /// <param name="parent"></param> /// <param name="mode"></param> /// <param name="loadmode"></param> public BTile(int x, int y, int z, Control parent, MapMode mode,LoadMapMode loadmode) { X = x; Y = y; Zoom = z; BMapControl = parent; Mode = mode; LoadMode = loadmode; }