zoukankan      html  css  js  c++  java
  • C# GMap下提供一个高德地图

    using System;
    using GMap.NET.Internals;
    using GMap.NET.Projections;
    
    namespace GMap.NET.MapProviders
    {
        public class AMapProvider : AMapProviderBase
        {
            private readonly string name = "AMap";
            private readonly string language = "zh_cn";
            private readonly Guid id = new Guid("F81F5FB4-0902-4686-BF5B-B2B1E4D47922");
            public static readonly AMapProvider Instance;
            private Random ran = new Random();
            private static string UrlFormat = "http://webrd0{0}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={1}&y={2}&z={3}&scale=1&ltype=3";
            public string Caption
            {
                get
                {
                    return "高德地图";
                }
            }
            public override Guid Id
            {
                get { return this.id; }
            }
    
            public override string Name
            {
                get { return this.name; }
            }
    
            static AMapProvider()
            {
                Instance = new AMapProvider();
            }
            public AMapProvider()
            {
    
            }
    
            public override PureImage GetTileImage(GPoint pos, int zoom)
            {
                string url = MakeTileImageUrl(pos, zoom, language);
                return GetTileImageUsingHttp(url);
            }
            //http://wprd0{0}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={1}&y={2}&z={3}&scl=2&ltype=3
            private string MakeTileImageUrl(GPoint pos, int zoom, string language)
            {
                int serverID = ran.Next(1, 5);//1-4 
                return string.Format(UrlFormat, 4, pos.X, pos.Y, zoom);
            }
        }
    
    
        public abstract class AMapProviderBase : GMapProvider
        {
            protected GMapProvider[] overlays;
            public AMapProviderBase()
            {
                RefererUrl = "http://www.amap.com/";
                Copyright = string.Format("©{0} 高德地图 GPRS(@{0})", DateTime.Today.Year);
                MinZoom = 1;
                MaxZoom = 20;
            }
    
            public override GMapProvider[] Overlays
            {
                get
                {
                    if (overlays == null)
                    {
                        overlays = new GMapProvider[] { this };
                    }
                    return overlays;
                }
            }
    
            public override PureProjection Projection
            {
                get
                {
                    return MercatorProjection.Instance;
                }
            }
        }
    }
  • 相关阅读:
    一个从excel导入数据错位问题
    Chrome F12 温故而知新 :因为重定向导致清空Network信息
    export / import 温故而知新
    Chrome Debugger 温故而知新:上下文环境
    微信导出表情包教程
    Oracle中判断字段是否为数字
    获取GridView中RowCommand的当前索引行
    Oracle SQL常用内置系统函数总结
    使用Task代替ThreadPool和Thread
    Visual Studio 使用及调试必知必会
  • 原文地址:https://www.cnblogs.com/wjshan0808/p/5940823.html
Copyright © 2011-2022 走看看