arcgis api for javascript 加载地图--(转)

 

 

//google地形图,自定义部分
//#region google地形图 继承esri.layers.TiledMapServiceLayer类,生成新类MapABCLayer

function initLayer() {

    //QQ地图 继承esri.layers.TiledMapServiceLayer类,生成新类QQLayer
    //天地图 继承esri.layers.TiledMapServiceLayer类,生成新类TDTLayer  和  TDTAnnoLayer
    //mapABC地图 继承esri.layers.TiledMapServiceLayer类,生成新类MapABCLayer
    //google地形图  继承esri.layers.TiledMapServiceLayer类,生成新类MapABCLayer

    //希望再弄个百度地图
      

 

 

  //QQ地图 继承esri.layers.TiledMapServiceLayer类,生成新类QQLayer

//QQ地图 继承esri.layers.TiledMapServiceLayer类,生成新类QQLayer
    dojo.declare("QQLayer", esri.layers.TiledMapServiceLayer, {
        _subDomains: new Array("p0", "p1", "p2", "p3"),
        scope: new Array(0, 0, 0, 0, 0, 3, 0, 3, 0, 3, 0, 3, 0, 7, 0, 7, 0, 15, 0, 15, 0, 31, 0, 31, 0, 63, 4, 59, 0, 127, 12, 115, 0, 225, 28, 227, 356, 455, 150, 259, 720, 899, 320, 469, 1440, 1799, 650, 929, 2880, 3589, 1200, 2069, 5760, 7179, 2550, 3709, 11520, 14349, 5100, 7999, 23060, 28689, 10710, 15429, 46120, 57369, 20290, 29849, 89990, 124729, 41430, 60689, 184228, 229827, 84169, 128886),
        constructor: function () {
            this.spatialReference = new esri.SpatialReference({ wkid: 102113 });
            this.initialExtent = (this.fullExtent = new esri.geometry.Extent(-20037508.342787, -20037508.342787, 20037508.342787, 20037508.342787, this.spatialReference));
            this.tileInfo = new esri.layers.TileInfo({
                "rows": 256,
                "cols": 256,
                "compressionQuality": 0,
                "origin": {
                    "x": -20037508.342787,
                    "y": 20037508.342787
                },
                "spatialReference": {
                    "wkid": 102113
                },
                "lods": [
              { "level": 0, "resolution": 156543.033928, "scale": 591657527.591555 },
              { "level": 1, "resolution": 78271.5169639999, "scale": 295828763.795777 },
              { "level": 2, "resolution": 39135.7584820001, "scale": 147914381.897889 },
              { "level": 3, "resolution": 19567.8792409999, "scale": 73957190.948944 },
              { "level": 4, "resolution": 9783.93962049996, "scale": 36978595.474472 },
              { "level": 5, "resolution": 4891.96981024998, "scale": 18489297.737236 },
              { "level": 6, "resolution": 2445.98490512499, "scale": 9244648.868618 },
              { "level": 7, "resolution": 1222.99245256249, "scale": 4622324.434309 },
              { "level": 8, "resolution": 611.49622628138, "scale": 2311162.217155 },
              { "level": 9, "resolution": 305.748113140558, "scale": 1155581.108577 },
              { "level": 10, "resolution": 152.874056570411, "scale": 577790.554289 },
              { "level": 11, "resolution": 76.4370282850732, "scale": 288895.277144 },
              { "level": 12, "resolution": 38.2185141425366, "scale": 144447.638572 },
              { "level": 13, "resolution": 19.1092570712683, "scale": 72223.819286 },
              { "level": 14, "resolution": 9.55462853563415, "scale": 36111.909643 },
              { "level": 15, "resolution": 4.77731426794937, "scale": 18055.954822 },
              { "level": 16, "resolution": 2.38865713397468, "scale": 9027.977411 },
              { "level": 17, "resolution": 1.19432856685505, "scale": 4513.988705 },
              { "level": 18, "resolution": 0.597164283559817, "scale": 2256.994353 },
              { "level": 19, "resolution": 0.298582141647617, "scale": 1128.497176 }
            ]
            });
            this.loaded = true;
            this.onLoad(this);
        },
        getTileUrl: function (level, row, col) {
            var subdomain = this._subDomains[(level + col + row) % this._subDomains.length];
            var f = level * 4;
            var i = this.scope[f++];
            var j = this.scope[f++];
            var l = this.scope[f++];
            var scope = this.scope[f];
            var tileNo = "";
            if (col >= i && col <= j && row >= l && row <= scope) {
                row = Math.pow(2, level) - 1 - row;
                tileNo = level + "/" + Math.floor(col / 16) + "/" + Math.floor(row / 16) + "/" + col + "_" + row + ".png";
            }
            return "http://" + subdomain + ".map.qq.com/maptiles/" + tileNo;
        }
    });
View Code

 

//天地图 继承esri.layers.TiledMapServiceLayer类,生成新类TDTLayer  和  TDTAnnoLayer

//新类TDTLayer ——第一部分

 //天地图 继承esri.layers.TiledMapServiceLayer类,生成新类TDTLayer  和  TDTAnnoLayer
    dojo.declare("TDTLayer", 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": 0, "resolution": 0.703125, "scale": 295497593.05875003 },
              { "level": 1, "resolution": 0.3515625, "scale": 147748796.52937502 },
              { "level": 2, "resolution": 0.17578125, "scale": 73874398.264687508 },
              { "level": 3, "resolution": 0.087890625, "scale": 36937199.132343754 },
              { "level": 4, "resolution": 0.0439453125, "scale": 18468599.566171877 },
              { "level": 5, "resolution": 0.02197265625, "scale": 9234299.7830859385 },
              { "level": 6, "resolution": 0.010986328125, "scale": 4617149.8915429693 },
              { "level": 7, "resolution": 0.0054931640625, "scale": 2308574.9457714846 },
              { "level": 8, "resolution": 0.00274658203125, "scale": 1154287.4728857423 },
              { "level": 9, "resolution": 0.001373291015625, "scale": 577143.73644287116 },
              { "level": 10, "resolution": 0.0006866455078125, "scale": 288571.86822143558 },
              { "level": 11, "resolution": 0.00034332275390625, "scale": 144285.93411071779 },
              { "level": 12, "resolution": 0.000171661376953125, "scale": 72142.967055358895 },
              { "level": 13, "resolution": 8.58306884765625e-005, "scale": 36071.483527679447 },
              { "level": 14, "resolution": 4.291534423828125e-005, "scale": 18035.741763839724 },
              { "level": 15, "resolution": 2.1457672119140625e-005, "scale": 9017.8708819198619 },
              { "level": 16, "resolution": 1.0728836059570313e-005, "scale": 4508.9354409599309 },
              { "level": 17, "resolution": 5.3644180297851563e-006, "scale": 2254.4677204799655 }
               ]
            });
            this.loaded = true;
            this.onLoad(this);
        },
        getTileUrl: function (level, row, col) {
            var levelMap = "";
            if (level < 10) {
                levelMap = "A0512_EMap";
            } else if (level < 12) {
                levelMap = "B0627_EMap1112";
            } else if (level < 17) {
                levelMap = "siwei0608";
            }
            return "http://tile0.tianditu.com/DataServer?T=" + levelMap + "&" +
                  "X=" + col + "&" +
                  "Y=" + row + "&" +
                  "L=" + (level * 1 + 1);
        }
    });
View Code

 

//天地图 继承esri.layers.TiledMapServiceLayer类,生成新类TDTLayer  和  TDTAnnoLayer

//新类TDTAnnoLayer——第二部分

 dojo.declare("TDTAnnoLayer", 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": 0, "resolution": 0.703125, "scale": 295497593.05875003 },
              { "level": 1, "resolution": 0.3515625, "scale": 147748796.52937502 },
              { "level": 2, "resolution": 0.17578125, "scale": 73874398.264687508 },
              { "level": 3, "resolution": 0.087890625, "scale": 36937199.132343754 },
               { "level": 4, "resolution": 0.0439453125, "scale": 18468599.566171877 },
              { "level": 5, "resolution": 0.02197265625, "scale": 9234299.7830859385 },
              { "level": 6, "resolution": 0.010986328125, "scale": 4617149.8915429693 },
              { "level": 7, "resolution": 0.0054931640625, "scale": 2308574.9457714846 },
              { "level": 8, "resolution": 0.00274658203125, "scale": 1154287.4728857423 },
              { "level": 9, "resolution": 0.001373291015625, "scale": 577143.73644287116 },
               { "level": 10, "resolution": 0.0006866455078125, "scale": 288571.86822143558 },
              { "level": 11, "resolution": 0.00034332275390625, "scale": 144285.93411071779 },
              { "level": 12, "resolution": 0.000171661376953125, "scale": 72142.967055358895 },
              { "level": 13, "resolution": 8.58306884765625e-005, "scale": 36071.483527679447 },
              { "level": 14, "resolution": 4.291534423828125e-005, "scale": 18035.741763839724 },
              { "level": 15, "resolution": 2.1457672119140625e-005, "scale": 9017.8708819198619 },
              { "level": 16, "resolution": 1.0728836059570313e-005, "scale": 4508.9354409599309 },
              { "level": 17, "resolution": 5.3644180297851563e-006, "scale": 2254.4677204799655 }
            ]
            });
            this.loaded = true;
            this.onLoad(this);
        },
        getTileUrl: function (level, row, col) {
            return "http://tile0.tianditu.com/DataServer?T=AB0512_Anno&" +
                   "X=" + col + "&" +
                  "Y=" + row + "&" +
                  "L=" + (level * 1 + 1);
        }
    });
View Code

  //mapABC地图 继承esri.layers.TiledMapServiceLayer类,生成新类MapABCLayer

  //mapABC地图 继承esri.layers.TiledMapServiceLayer类,生成新类MapABCLayer
    dojo.declare("MapABCLayer", esri.layers.TiledMapServiceLayer, {
        _subDomains: new Array("emap0", "emap1", "emap2", "emap3"),
        constructor: function () {
            this.spatialReference = new esri.SpatialReference({ wkid: 102113 });
            this.initialExtent = (this.fullExtent = new esri.geometry.Extent(-20037508.342787, -20037508.342787, 20037508.342787, 20037508.342787, this.spatialReference));
            this.tileInfo = new esri.layers.TileInfo({
                "rows": 256,
                "cols": 256,
                "compressionQuality": 0,
                "origin": {
                    "x": -20037508.342787,
                    "y": 20037508.342787
                },
                "spatialReference": {
                    "wkid": 102113
                },
                "lods": [
                            { "level": 0, "resolution": 156543.033928, "scale": 591657527.591555 },
                            { "level": 1, "resolution": 78271.5169639999, "scale": 295828763.795777 },
                            { "level": 2, "resolution": 39135.7584820001, "scale": 147914381.897889 },
                            { "level": 3, "resolution": 19567.8792409999, "scale": 73957190.948944 },
                            { "level": 4, "resolution": 9783.93962049996, "scale": 36978595.474472 },
                            { "level": 5, "resolution": 4891.96981024998, "scale": 18489297.737236 },
                            { "level": 6, "resolution": 2445.98490512499, "scale": 9244648.868618 },
                            { "level": 7, "resolution": 1222.99245256249, "scale": 4622324.434309 },
                            { "level": 8, "resolution": 611.49622628138, "scale": 2311162.217155 },
                            { "level": 9, "resolution": 305.748113140558, "scale": 1155581.108577 },
                            { "level": 10, "resolution": 152.874056570411, "scale": 577790.554289 },
                            { "level": 11, "resolution": 76.4370282850732, "scale": 288895.277144 },
                            { "level": 12, "resolution": 38.2185141425366, "scale": 144447.638572 },
                            { "level": 13, "resolution": 19.1092570712683, "scale": 72223.819286 },
                            { "level": 14, "resolution": 9.55462853563415, "scale": 36111.909643 },
                            { "level": 15, "resolution": 4.77731426794937, "scale": 18055.954822 },
                            { "level": 16, "resolution": 2.38865713397468, "scale": 9027.977411 },
                            { "level": 17, "resolution": 1.19432856685505, "scale": 4513.988705 },
                            { "level": 18, "resolution": 0.597164283559817, "scale": 2256.994353 },
                            { "level": 19, "resolution": 0.298582141647617, "scale": 1128.497176 }
                            ]
            });
            this.loaded = true;
            this.onLoad(this);
        },
        getTileUrl: function (level, row, col) {
            var subdomain = this._subDomains[(level + col + row) % this._subDomains.length];
            return "http://" + subdomain + ".is.autonavi.com/appmaptile?&z=" + level + "&x=" + col + "&y=" + row;
        }
    });
View Code

 //google地形图  继承esri.layers.TiledMapServiceLayer类,生成新类MapABCLayer
    dojo.declare("GoogleTopographicLayer",

 //google地形图  继承esri.layers.TiledMapServiceLayer类,生成新类MapABCLayer
    dojo.declare("GoogleTopographicLayer", esri.layers.TiledMapServiceLayer, {
        constructor: function () {
            this.spatialReference = new esri.SpatialReference({ wkid: 102113 });
            this.initialExtent = (this.fullExtent = new esri.geometry.Extent(-20037508.342787, -20037508.342787, 20037508.342787, 20037508.342787, this.spatialReference));
            this.tileInfo = new esri.layers.TileInfo({
                "rows": 256,
                "cols": 256,
                "compressionQuality": 0,
                "origin": {
                    "x": -20037508.342787,
                    "y": 20037508.342787
                },
                "spatialReference": {
                    "wkid": 102113
                },
                "lods": [
                            { "level": 0, "resolution": 156543.033928, "scale": 591657527.591555 },
                            { "level": 1, "resolution": 78271.5169639999, "scale": 295828763.795777 },
                            { "level": 2, "resolution": 39135.7584820001, "scale": 147914381.897889 },
                            { "level": 3, "resolution": 19567.8792409999, "scale": 73957190.948944 },
                            { "level": 4, "resolution": 9783.93962049996, "scale": 36978595.474472 },
                            { "level": 5, "resolution": 4891.96981024998, "scale": 18489297.737236 },
                            { "level": 6, "resolution": 2445.98490512499, "scale": 9244648.868618 },
                            { "level": 7, "resolution": 1222.99245256249, "scale": 4622324.434309 },
                            { "level": 8, "resolution": 611.49622628138, "scale": 2311162.217155 },
                            { "level": 9, "resolution": 305.748113140558, "scale": 1155581.108577 },
                            { "level": 10, "resolution": 152.874056570411, "scale": 577790.554289 },
                            { "level": 11, "resolution": 76.4370282850732, "scale": 288895.277144 },
                            { "level": 12, "resolution": 38.2185141425366, "scale": 144447.638572 },
                            { "level": 13, "resolution": 19.1092570712683, "scale": 72223.819286 },
                            { "level": 14, "resolution": 9.55462853563415, "scale": 36111.909643 },
                            { "level": 15, "resolution": 4.77731426794937, "scale": 18055.954822 },
                            { "level": 16, "resolution": 2.38865713397468, "scale": 9027.977411 },
                            { "level": 17, "resolution": 1.19432856685505, "scale": 4513.988705 },
                            { "level": 18, "resolution": 0.597164283559817, "scale": 2256.994353 },
                            { "level": 19, "resolution": 0.298582141647617, "scale": 1128.497176 }
                            ]
            });

            this.loaded = true;
            this.onLoad(this);
        },

        getTileUrl: function (level, row, col) {
            //return "http://" + "mt" + (col % 4) + ".google.cn/vt/v=w2.114&hl=zh-CN&gl=cn&x=" + col + "&y=" + row + "&z=" + level + "&s=";  
            // var s:String = "Galileo".substring(0, ((3 * x + y)  8));.google.cn/vt/lyrs=t@129,r@195000000&hl=zh-CN&gl=CN&src=app&x=
            var s = "Galileo".substring(0, ((3 * col + row) % 8));
            return "http://" + "mt" + (col % 4) + ".google.cn/vt/lyrs=t@129,r@195000000&hl=zh-CN&gl=CN&src=app&x=" + col + "&y=" + row + "&z=" + level + "&s=" + s;
           // http://mt2.google.cn/vt/imgtp=png32&lyrs=h@229000000&hl=zh-CN&gl=CN&src=app&x=48&y=27&z=6&s=Gal
        }
    });
View Code

 

 

 

 

posted on 2014-04-28 10:25  办幼儿园+国家电网1亿  阅读(419)  评论(0编辑  收藏  举报

返回顶部