微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Arcgis api For silverlight 加载高德地图

Arcgis api For silverlight 加载高德地图

地图仅供演示,研究使用。如要商用 请联系厂商。

复制代码

public class AMapLayer : TiledMapServiceLayer
    {
        private const double cornerCoordinate = 20037508.342787;
        public override void Initialize()
        {

            this.FullExtent = new
           ESRI.ArcGIS.Client.Geometry.Envelope(-20037508.342787,-20037508.342787,20037508.342787,20037508.342787);
            {
                SpatialReference = new ESRI.ArcGIS.Client.Geometry.SpatialReference(102100);
            };


            this.SpatialReference = new ESRI.ArcGIS.Client.Geometry.SpatialReference(102100);

            this.TileInfo = new TileInfo()
            {
                Height = 256,Width = 256,Origin = new ESRI.ArcGIS.Client.Geometry.MapPoint(-20037508.342787,20037508.342787)
                {
                    SpatialReference = new ESRI.ArcGIS.Client.Geometry.SpatialReference(102100)
                },Lods = new Lod[20]
            };


            double resolution = 156543.033928;

            for (int i = 0; i < TileInfo.Lods.Length; i++)
            {

                TileInfo.Lods[i] = new Lod() { Resolution = resolution };
                resolution /= 2;
            }

            // Call base initialize to raise the initialization event 
            base.Initialize();
        }

        public override string GetTileUrl(int level,int row,int col)
        {
            string baseUrl = "http://webrd0{0}.is.autonavi.com/appmaptile?x={1}&y={2}&z={3}&lang=zh_cn&size=1&scale=1&style=7"; ;

            string quard = GetQuard(col,row,level);

            return string.Format(baseUrl,(object)quard[quard.Length - 1],col,level);
        }

        public static string GetQuard(int x,int y,int zoomLevel)
        {
            string str = "";
            while (x > 0 || y > 0)
            {
                str = ((x & 1) << 1 | y & 1).ToString() + str;
                x >>= 1;
                y >>= 1;
            }
            return ((object)str).ToString().PadLeft(zoomLevel,'0');
        }
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐