Example #1
0
        /// <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;
            }
        }
Example #2
0
 /// <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;
     }
 }
Example #3
0
 /// <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;
 }
Example #4
0
        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;
            }
        }
Example #5
0
        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);
            }
        }
Example #6
0
 /// <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 "";
 }
Example #7
0
 /// <summary>
 /// 加载地图模式改变
 /// </summary>
 /// <param name="loadMode"></param>
 void _bLoadMapModeControl_LoadMapModeChanged(LoadMapMode loadMode)
 {
     LoadMode = loadMode;
 }
Example #8
0
 /// <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;
 }