define(["dojo/_base/declare", "esri/map", "esri/SpatialReference", "esri/layers/ArcGISDynamicMapServiceLayer", "esri/layers/ArcGISTiledMapServiceLayer", "esri/geometry/Point"], function (declare, Map, SpatialReference, ArcGISDynamicMapServiceLayer, ArcGISTiledMapServiceLayer, Point) {
|
var clazz, pLayerId;
|
var zzxstDiv = "zzxstDiv";
|
clazz = declare("ZZXST", null, {
|
constructor: function () { },
|
show: function (layerObject) {
|
document.getElementById("map").style.display = "none";
|
document.getElementById(zzxstDiv).style.display = "block";
|
document.getElementById(zzxstDiv).innerHTML = "";
|
var sMinZoom = 1;
|
var sMaxZoom = 19;
|
if (layerObject.layerId == "zzxst1" || layerObject.layerId == "zzxst2" || layerObject.layerId == "zzxst7") {
|
sMaxZoom = 6
|
} else if (layerObject.layerId == "zzxst3" || layerObject.layerId == "zzxst6") {
|
sMinZoom = 5;
|
sMaxZoom = 10
|
} else if (layerObject.layerId == "zzxst4" || layerObject.layerId == "zzxst5") {
|
sMinZoom = 0;
|
sMaxZoom = 6;
|
} else if (layerObject.layerId == "zzxst8" || layerObject.layerId == "zzxst9") {
|
sMinZoom = 5;
|
sMaxZoom = 10;
|
}
|
var mapZZXST = new Map(zzxstDiv, {
|
logo: false,
|
minZoom: sMinZoom,
|
maxZoom: sMaxZoom
|
});
|
var wktStr = "";
|
if (layerObject.layerId == "zzxst1" || layerObject.layerId == "zzxst2" || layerObject.layerId == "zzxst7") {
|
wktStr = 'PROJCS["North_Pole_Orthographic",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Orthographic"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Longitude_Of_Center",90.0],PARAMETER["Latitude_Of_Center",90.0],UNIT["Meter",1.0]]'
|
} else if (layerObject.layerId == "zzxst4" || layerObject.layerId == "zzxst5") {
|
wktStr = 'PROJCS["South_Pole_Stereographic",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Stereographic"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",90.0],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",-90.0],UNIT["Meter",1.0]]'
|
} else if (layerObject.layerId == "zzxst3" || layerObject.layerId == "zzxst6") {
|
wktStr = 102113
|
}
|
var spatialReference = new SpatialReference({
|
"wkt": wktStr
|
});
|
var layer = mapZZXST.getLayer(layerObject.layerId);
|
layer = new ArcGISTiledMapServiceLayer(layerObject.layerUrl, {
|
id: layerObject.layerId,
|
visible: true,
|
layerType: "basemap_zzxst",
|
spatialReference: spatialReference
|
});
|
mapZZXST.addLayer(layer);
|
var xMax, yMax, xMin, yMin, scale, img, x, y;
|
if (layerObject.layerId == "zzxst1") {
|
scale = 18489298;
|
img = "北极航道示意图.png";
|
x = -425244.361;
|
y = 202142.096
|
} else if (layerObject.layerId == "zzxst2") {
|
scale = 18489298;
|
img = "北极周边政治形势图.png";
|
x = -425244.361;
|
y = 202142.096
|
} else if (layerObject.layerId == "zzxst3") {
|
scale = 2311162;
|
img = "南海政治形势图.png";
|
x = 12495471.231;
|
y = 1147022.86
|
} else if (layerObject.layerId == "zzxst4") {
|
scale = 36978595;
|
img = "南极周边政治形势图.png";
|
x = -4131.808;
|
y = 36,
|
978,
|
595
|
} else if (layerObject.layerId == "zzxst5") {
|
scale = 36978595;
|
img = "南极主要保护区示意图.png";
|
x = -4131.808;
|
y = 36,
|
978,
|
595
|
} else if (layerObject.layerId == "zzxst6") {
|
scale = 2311162;
|
img = "黄东海政治形势图.png";
|
x = 13915386.698;
|
y = 3690696.768
|
} else if (layerObject.layerId == "zzxst7") {
|
scale = 18489298;
|
img = "";
|
x = -425244.361;
|
y = 202142.096
|
} else if (layerObject.layerId == "zzxst8") {
|
scale = 10489298;
|
img = "图例-越南南海油气勘测区.JPG";
|
x = 12252440.361;
|
y = 1402142.096
|
} else if (layerObject.layerId == "zzxst9") {
|
scale = 7489298;
|
img = "图例-菲律宾招标区块.PNG";
|
x = 13252440.361;
|
y = 1402142.096
|
}
|
mapZZXST.setScale(scale);
|
var point1 = new Point(x, y, map.spatialReference);
|
mapZZXST.centerAt(point1);
|
document.getElementById("zzxstImg").src = "images/zzxst/" + img;
|
document.getElementById("zzxstLegend").style.display = "block";
|
pLayerId = layerObject.layerId
|
}
|
});
|
clazz.getInstance = function () {
|
if (instance === null) {
|
instance = new clazz()
|
}
|
return instance
|
}
|
;
|
return clazz
|
});
|