首先建一个JS文件命名为googleLayer.js。其内容为:
//定义 google 图层
function defineClassesBeforInitMap() {
dojo.declare("GoogleMapLayer", esri.layers.TiledMapServiceLayer, {
constructor: function () {
this.spatialReference = new esri.SpatialReference({ wkid: 102113 });
var minpt = new esri.geometry.Point(92.17957278846418, -16.909669691616585, new esri.SpatialReference({ wkid: 4326 }));
var minptWeb = esri.geometry.geographicToWebMercator(minpt);
var maxpt = new esri.geometry.Point(140.97612918514383, 28.517045192981243, new esri.SpatialReference({ wkid: 4326 }));
var maxptWeb = esri.geometry.geographicToWebMercator(maxpt);
this.fullExtent = new esri.geometry.Extent(-20037508.342787, -20037508.342787, 20037508.342787, 20037508.342787, this.spatialReference);
this.initialExtent = new esri.geometry.Extent(minptWeb.x, minptWeb.y, maxptWeb.x, maxptWeb.y, 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, "scale": 591657527.591555, "resolution": 156543.033928 },
{ "level": 1, "scale": 295828763.795777, "resolution": 78271.5169639999 },
{ "level": 2, "scale": 147914381.897889, "resolution": 39135.7584820001 },
{ "level": 3, "scale": 73957190.948944, "resolution": 19567.8792409999 },
{ "level": 4, "scale": 36978595.474472, "resolution": 9783.93962049996 },
{ "level": 5, "scale": 18489297.737236, "resolution": 4891.96981024998 },
{ "level": 6, "scale": 9244648.868618, "resolution": 2445.98490512499 },
{ "level": 7, "scale": 4622324.434309, "resolution": 1222.99245256249 },
{ "level": 8, "scale": 2311162.217155, "resolution": 611.49622628138 },
{ "level": 9, "scale": 1155581.108577, "resolution": 305.748113140558 },
{ "level": 10, "scale": 577790.554289, "resolution": 152.8740