After zooming to SITE 2 Image Service, the service disappears? This does not happen with Site 1 or 2.
See code below? You should be able to copy/paste code to test. Any input would be great. Thanks!
That first sentence hurts my head! (after zooming to site 2 / does not happen with site 2!)Please wrap code in tags, I've removed your local paths to the API so this is now copy/pastable:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=7" />
<!--The viewport meta tag is used to improve the presentation and behavior of the samples
on iOS devices-->
<meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/>
<title>GES Demo</title>
<link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/2.8/js/dojo/dijit/themes/tundra/tundra.css">
<style type="text/css">
html, body {
height: 100%; width: 100%; margin: 0; padding: 0;
}
body{
background-color:#777; overflow:hidden; font-family: "Trebuchet MS";
}
#map{
overflow:hidden;
padding:0;
}
</style>
<script type="text/javascript">
var djConfig = {
parseOnLoad: true
};
function OnChangeDDMapService() {
var dd = document.getElementById('siteDD');
var dd2 = document.getElementById('siteDD2');
if (dd[1].selected) {
map.setExtent(imageServiceLayer.fullExtent);
//lockRasterID1 = 10;
dd2.selectedIndex = lockRasterID1;
}
if (dd[2].selected) {
map.setExtent(imageServiceLayer2.fullExtent);
//lockRasterID2 = 10;
dd2.selectedIndex = lockRasterID2;
}
if (dd[3].selected) {
map.setExtent(imageServiceLayer3.fullExtent);
//lockRasterID3 = 10;
dd2.selectedIndex = lockRasterID3;
}
return true;
}
function OnChangeDDImage() {
var dd = document.getElementById('siteDD');
var dd2 = document.getElementById('siteDD2');
var params = new esri.layers.ImageServiceParameters();
var mr = new esri.layers.MosaicRule();
mr.method = esri.layers.MosaicRule.METHOD_LOCKRASTER;
mr.lockRasterIds = [dd2.selectedIndex];
params.noData = 0;
if (dd[1].selected)
{
map.removeLayer(imageServiceLayer);
map.removeLayer(dynlayer);
lockRasterID1 = dd2.selectedIndex;
if (lockRasterID1!=10) params.mosaicRule = mr;
imageServiceLayer = new esri.layers.ArcGISImageServiceLayer(imgSrvURL1, {
imageServiceParameters: params
});
map.addLayer(imageServiceLayer);
dynlayer = new esri.layers.ArcGISDynamicMapServiceLayer(mapSrvURL1, { "opacity": 0.5 });
map.addLayer(dynlayer);
}
if (dd[2].selected) {
map.removeLayer(imageServiceLayer2);
map.removeLayer(dynlayer2);
lockRasterID2 = dd2.selectedIndex;
if (lockRasterID2 != 10) params.mosaicRule = mr;
imageServiceLayer2 = new esri.layers.ArcGISImageServiceLayer(imgSrvURL2, {
imageServiceParameters: params
});
map.addLayer(imageServiceLayer2);
dynlayer2 = new esri.layers.ArcGISDynamicMapServiceLayer(mapSrvURL2, { "opacity": 0.5 });
map.addLayer(dynlayer2);
}
if (dd[3].selected) {
map.removeLayer(imageServiceLayer3);
map.removeLayer(dynlayer3);
lockRasterID3 = dd2.selectedIndex;
if (lockRasterID3 != 10) params.mosaicRule = mr;
imageServiceLayer3 = new esri.layers.ArcGISImageServiceLayer(imgSrvURL3, {
imageServiceParameters: params
});
map.addLayer(imageServiceLayer3);
dynlayer3 = new esri.layers.ArcGISDynamicMapServiceLayer(mapSrvURL3, { "opacity": 0.5 });
map.addLayer(dynlayer3);
}
return true;
}
</script>
<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.8">
</script>
<script type="text/javascript">
dojo.require("dijit.dijit"); // optimize: load dijit layer
dojo.require("dijit.layout.BorderContainer");
dojo.require("dijit.layout.ContentPane");
dojo.require("esri.map");
var map;
var basemapURL = "http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer";
var imgSrvURL1 = "http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Portland/CascadeLandsat/ImageServer";
var mapSrvURL1 = "http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer";
var imgSrvURL2 = "http://sampleserver6.arcgisonline.com/arcgis/rest/services/CharlotteLAS/ImageServer";
var mapSrvURL2 = "http://sampleserver6.arcgisonline.com/arcgis/rest/services/911CallsHotspot/MapServer";
var imgSrvURL3 = "http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Earthquakes/CaliforniaDEM/ImageServer";
var mapSrvURL3 = "http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Earthquakes/EarthquakesFromLastSevenDays/MapServer";
var imageServiceLayer;
var imageServiceLayer2;
var imageServiceLayer3;
var dynlayer;
var dynlayer2;
var dynlayer3;
var lockRasterID1 = 10;
var lockRasterID2 = 10;
var lockRasterID3 = 10;
function init() {
var initialExtent = new esri.geometry.Extent({ "xmin": -2920505.97, "ymin": 2930600.98, "xmax": 7215655.47, "ymax": 6834392.88,
"spatialReference": { "wkid": 102113} });
map = new esri.Map("map", {
extent: initialExtent
});
dojo.connect(map, 'onLoad', function (map) {
//resize the map when the browser resizes
dojo.connect(dijit.byId('map'), 'resize', map, map.resize);
});
var basemap = new esri.layers.ArcGISTiledMapServiceLayer(basemapURL);
map.addLayer(basemap);
var params = new esri.layers.ImageServiceParameters();
params.noData = 0;
//Site 1
imageServiceLayer = new esri.layers.ArcGISImageServiceLayer(imgSrvURL1, {
imageServiceParameters: params
});
map.addLayer(imageServiceLayer);
dynlayer = new esri.layers.ArcGISDynamicMapServiceLayer(mapSrvURL1, { "opacity": 0.5 });
map.addLayer(dynlayer);
//Site 2
imageServiceLayer2 = new esri.layers.ArcGISImageServiceLayer(imgSrvURL2, {
imageServiceParameters: params
});
map.addLayer(imageServiceLayer2);
dynlayer2 = new esri.layers.ArcGISDynamicMapServiceLayer(mapSrvURL2, { "opacity": 0.5 });
map.addLayer(dynlayer2);
//Site 3
imageServiceLayer3 = new esri.layers.ArcGISImageServiceLayer(imgSrvURL3, {
imageServiceParameters: params
});
map.addLayer(imageServiceLayer3);
dynlayer3 = new esri.layers.ArcGISDynamicMapServiceLayer(mapSrvURL3, { "opacity": 0.5 });
map.addLayer(dynlayer3);
}
//show map on load
dojo.addOnLoad(init);
</script>
</head>
<body class="tundra">
Zoom to Site:
<select name='siteDD' id='siteDD' onchange='OnChangeDDMapService();'>
<option selected>Select a Site</option>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
Lock Raster Ids:
<select name='siteDD2' id='siteDD2' onchange='OnChangeDDImage();'>
<option>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option selected>ALL</option>
</select>
<div dojotype="dijit.layout.BorderContainer" design="headline" gutters="false"
style="width: 100%; height: 100%; margin: 0;">
<div id="map" dojotype="dijit.layout.ContentPane" region="center">
</div>
</div>
</body>
</html>
Haven't looked into the issue yet though...