ArcGIS JS API使用天地图地图服务

1、申请天地图地图的开发key

        天地图在2019-01-01之前的地图调用不需要key,2019-01-01后必须使用key,之前没用key的地图调用将不再被支持。

        1.1  打开天地图开发者平台:http://lbs.tianditu.gov.cn/

        1.2  登录,若无账号可申请账号。

        1.3  进入控制台,创建应用,生成一个 key。

         

2、使用dojo的declare自定义切片地图类

      核心代码:

dojo.declare("TianDiTuLyr", esri.layers.TiledMapServiceLayer, {
    constructor: function () {
        this.spatialReference = new esri.SpatialReference({ wkid: 4326 });
        this.initialExtent = (this.fullExtent = new esri.geometry.Extent(-180.0,
            -90.0, 180.0, 90.0, this.spatialReference));
        this.tileInfo = new esri.layers.TileInfo({
            "rows": 256,
            "cols": 256,
            "compressionQuality": 0,
            "origin": {
                "x": -180,
                "y": 90
            },
            "spatialReference": {
                "wkid": 4326
            },
            "lods": [
                {"level": "1", "scale": 295829355.45, "resolution": 0.703125},
                {"level": "2", "scale": 147914677.725, "resolution": 0.3515625},
                {"level": "3", "scale": 73957338.8625, "resolution": 0.17578125},
                {"level": "4", "scale": 36978669.43125, "resolution": 0.087890625},
                {"level": "5", "scale": 18489334.715625, "resolution": 0.0439453125},
                {"level": "6", "scale": 9244667.3578125, "resolution": 0.02197265625},
                {"level": "7", "scale": 4622333.67890625, "resolution": 0.010986328125},
                {"level": "8", "scale": 2311166.839453125, "resolution": 0.0054931640625},
                {"level": "9", "scale": 1155583.4197265625, "resolution": 0.00274658203125},
                {"level": "10", "scale": 577791.7098632812, "resolution": 0.001373291015625},
                {"level": "11", "scale": 288895.8549316406, "resolution": 0.0006866455078125},
                {"level": "12", "scale": 144447.9274658203, "resolution": 0.00034332275390625},
                {"level": "13", "scale": 72223.96373291015, "resolution": 0.000171661376953125},
                {"level": "14", "scale": 36111.98186645508, "resolution": 0.0000858306884765625},
                {"level": "15", "scale": 18055.99093322754, "resolution": 0.00004291534423828125},
                {"level": "16", "scale": 9027.99546661377, "resolution": 0.000021457672119140625},
                {"level": "17", "scale": 4513.997733306885, "resolution": 0.000010728836059570312},
                {"level": "18", "scale": 2256.9988666534423, "resolution": 0.000005364418029785156},
                {"level": "19", "scale": 1128.4994333267211, "resolution": 0.000002682209014892578}
            ]
        });

        this.loaded = true;
        this.onLoad(this);
    },
    getTileUrl: function (level, row, col) {
        //e378319b5250eff0fdd562f3aa190e62  是自己申请的key,现在代码是的是博主申请的,也可以使用
        return "http://t0.tianditu.gov.cn/vec_c/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=vec&STYLE=default&TILEMATRIXSET=c&TILEMATRIX=" + level + "&TILEROW=" + row + "&TILECOL="+ col + "&FORMAT=tiles"+"&tk=e378319b5250eff0fdd562f3aa190e62";
    }
});

3、地图添加2定义的图层类

var map = new esri.Map("map");
map.addLayer(new TianDiTuLyr());

4、效果图

完整案例下载地址:https://download.csdn.net/download/shijie_nihao/10931701

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值