ArcGIS Silverlight API访问天地图服务

天地图服务是经过缓存的数据,所以需要继承的是TiledMapServiceLayer;继承的这个图层,需要收集到以下几个信息:

 

Tiling Scheme Origin

 

切图的范围,也就是FullExtent

 

SpatialReference

 

TileInfo,包括切图的大小,级数,以及每级的Resolution

 

最后就是重写GetTileUrl方法

 

当地图控件的范围改变时,能够获取到当前范围的信息,那么只要把左上角和右下角之间的Tile全部按顺序显示出来就行了。

 

 

 

    天地图图层(TDTTileLyr)重载TiledMapServiceLayer

 

publicclassTDTTileLyr : TiledMapServiceLayer

 

    {

 

       publicoverridevoid Initialize()

 

       {

 

 

 

           this.FullExtent = new

 

           ESRI.ArcGIS.Client.Geometry.Envelope(-180, -90, 180,90);

 

           {

 

                SpatialReference = new ESRI.ArcGIS.Client.Geometry.SpatialReference(4326);

 

           };

 

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

 

           this.TileInfo = newTileInfo()

 

           {

 

                Height = 256,

 

                Width = 256,

 

                Origin = new ESRI.ArcGIS.Client.Geometry.MapPoint(-180,90)

 

               {

 

                    SpatialReference = new ESRI.ArcGIS.Client.Geometry.SpatialReference(4326)

 

                },

 

                Lods = newLod[16]

 

           };

 

           TileInfo.Lods[0] = newLod() { Resolution =0.703125 };

 

           TileInfo.Lods[1] = newLod() { Resolution =0.3515625 };

 

           TileInfo.Lods[2] = newLod() { Resolution =0.17578125 };

 

           TileInfo.Lods[3] = newLod() { Resolution =0.087890625 };

 

           TileInfo.Lods[4] = newLod() { Resolution =0.0439453125 };

 

           TileInfo.Lods[5] = newLod() { Resolution =0.02197265625 };

 

           TileInfo.Lods[6] = newLod() { Resolution =0.010986328125 };

 

           TileInfo.Lods[7] = newLod() { Resolution =0.0054931640625 };

 

           TileInfo.Lods[8] = newLod() { Resolution =0.00274658203124999 };

 

           TileInfo.Lods[9] = newLod() { Resolution =0.001373291015625 };

 

           TileInfo.Lods[10] = newLod() { Resolution =0.0006866455078125 };

 

           TileInfo.Lods[11] = newLod() { Resolution =0.000343322753906249 };

 

           TileInfo.Lods[12] = newLod() { Resolution =0.000171661376953125 };

 

           TileInfo.Lods[13] = newLod() { Resolution =0.0000858306884765626 };

 

           TileInfo.Lods[14] = newLod() { Resolution =0.0000429153442382813 };

 

           TileInfo.Lods[15] = newLod() { Resolution =0.0000214576721191406 };

 

 

 

           base.Initialize();

 

       }

 

       privatestring _url = “”;

 

       publicoverridestring GetTileUrl(int level, int row, int col)

 

       {

 

           string url = _url + “&X= + col.ToString() + “&Y= +row.ToString() + “&L= + level.ToString();

 

           return url;

 

       }

 

       publicstring Url

 

       {

 

           get

 

           {

 

                return_url;

 

           }

 

           set

 

           {

 

                _url = value;

 

           }

 

       }

 

    }

 

 

 

访问天地图影像切片服务

 

 TDTTileLyr p = newTDTTileLyr();

 

 p.Url = “http://tile0.tianditu.com/DataServer?T=sbsm0210;

 

 p.ID= “YINGXIANG;

 

 p.Visible = true;

 

 mainMap.Layers.Add(p);

 

访问天地图矢量切片服务

 

TDTTileLyr p = newTDTTileLyr();

 

 p.Url = ” http://tile0.tianditu.com/DataServer?T=A0512_EMap;

 

 p.ID= “SHILIANG;

 

 p.Visible = true;

 

 mainMap.Layers.Add(p);

影像服务、注记服务叠加显示

 

//注记

 

 TDTTileLyr p = newTDTTileLyr();

 

 p.Url = “http://tile0.tianditu.com/DataServer?T=A0610_ImgAnno;

 

 p.ID= “ZJ;               

 

 p.Visible = true;

 

 //影像服务

 

 TDTTileLyr p1 = newTDTTileLyr();

 

 p1.Url = “http://tile0.tianditu.com/DataServer?T=sbsm0210;

 

 p1.ID = “YINGXIANG;

 

 p1.Visible = true;

 

 mainMap.Layers.Add(p1);

 

 mainMap.Layers.Add(p);

天地图服务资源

 

http://www.tianditu.com/guide/resource.jsp

 

天地图影像服务地址

 

http://tile0.tianditu.com/DataServer?T=sbsm02101-10级)

 

http://tile0.tianditu.com/DataServer?T=e1111级)

 

http://tile0.tianditu.com/DataServer?T=e1212级)

 

http://tile0.tianditu.com/DataServer?T=e1313级)

 

http://tile0.tianditu.com/DataServer?T=eastdawnall14级)

 

http://tile0.tianditu.com/DataServer?T=sbsm151815-18级)

 

初始范围:111.9, 27.85, 114.25, 28.67

 

天地图矢量地图服务地址

 

http://tile0.tianditu.com/DataServer?T=A0512_EMap1-10级)

 

http://tile0.tianditu.com/DataServer?T=B0627_EMap111211-12级)

 

http://tile0.tianditu.com/DataServer?T=siwei060813-18级)

 

 

 

天地图影像注记服务地址

 

http://tile0.tianditu.com/DataServer?T=A0610_ImgAnno(中文地名注记)

 

http://tile0.tianditu.com/DataServer?T=A0104_ImgAnnoE(英文地名注记)

 

http://tile0.tianditu.com/DataServer?T=siweiAnno68(注记)

 

 

 

天地图矢量注记服务地址

 

http://tile0.tianditu.com/DataServer?T=AB0512_Anno(中文地名注记)

 

http://tile0.tianditu.com/DataServer?T=AB0106_AnnoE(英文地名注记)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值