zengh
2022-05-16 63ad2c3598400370dd7da5534659fd7e768a0a4a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
define(['esri/layers/TiledMapServiceLayer',
  'esri/SpatialReference',
  'esri/geometry/Extent',
  'esri/layers/TileInfo',
  'dojo'
],
  function (TiledMapServiceLayer,
    SpatialReference,
    Extent,
    TileInfo,
    dojo
  ) {
 
    return dojo.declare("esrichina.GoogleMapLayer", TiledMapServiceLayer, {
      _baseUrl: "",
      constructor: function (url) {
        this.baseURL = url;
        this.spatialReference = new SpatialReference({ wkid: 4326 });
        this.initialExtent = (this.fullExtent = new Extent(-20037508.342787, -20037508.342787, 20037508.342787, 20037508.342787, this.spatialReference));
 
        this.tileInfo = new TileInfo({
          "rows": 256,
          "cols": 256,
          "dpi": 96,
          "format": "PNG32",
          "compressionQuality": 0,
          "origin": {
            "x": -20037508.342787,
            "y": 20037508.342787
          },
          "spatialReference": {
            "wkid": 4326
          }
        });
        this.tileInfo.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
        }, {
          level: 20,
          resolution: 0.149291070823808,
          scale: 564.248588
        }];
 
        this.loaded = true;
        this.onLoad(this);
      },
 
      getTileUrl: function (level, row, col) {
 
        var returnurl = this.baseURL + "&x=" + col + "&" +
          "y=" + row + "&" + "z=" + level;
        console.log(returnurl);
        return returnurl;
      }
    });
  });