ArcGIS WebAPI接入google瓦片服务

当前电子地图大行其道,其中大部分是以瓦片的形式和rest接口来对地图内容进行访问的,那么我们能否在需要底图数据的时候借用下这些丰富而详细的数据内容呢?

接下来我们利用ArcGIS强大的API实现了集中常见类型瓦片服务的接入,其中的关键就是对于TiledMapServiceLayer类的理解和使用了。

 

publicclassGooglemap :TiledMapServiceLayer

{

    //public bool
chn;

    publicstring _mapType = null;

    publicoverridevoid
Initialize()

    {

       //this.Opacity
= 0.5;

       this.FullExtent
=
new

      
ESRI.ArcGIS.Client.Geometry.Envelope(-20037508.342787, -20037508.342787,
20037508.342787, 20037508.342787);//(-180,-85.0511287798066,180,
85.0511287798066)

       {

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

       };

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

       //this.InitialExtent
= this.FullExtent;

       this.TileInfo
=
new TileInfo()

       {

           Height = 256,

           Width = 256,

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

           {

                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;

       }

       base.Initialize();

    }

 

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

    {

       string url = null;

       if
(_mapType ==
“poi)

       {

           string
baseUrl =
“http://mt1.google.cn/vt/imgtp=png32&lyrs=h@169000000&hl=zh-CN&gl=cn&x=;

           url = baseUrl + col.ToString() + “&y= +row.ToString() + “&z= + level.ToString() + “&s=Ga;

           

       }

       elseif (_mapType == “image)

       {

           string
baseUrl =
“http://mt3.google.cn/vt/lyrs=s@101&hl=zh-CN&gl=cn&x=;

           url = baseUrl + col.ToString() + “&y= +row.ToString() + “&z= + level.ToString() + “&s=;

       }

       elseif (_mapType == “map)

       {

           string
baseUrl =
“http://mt0.google.cn/vt/lyrs=m@169000000&hl=zh-CN&gl=cn&x=;

           url = baseUrl + col.ToString() + “&y= +row.ToString() + “&z= + level.ToString() + “&s=Ga;

       }

       return
url;

    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值