function ExportMap() {
var mExport_Settings = new esri.layers.ImageParameters();
//Could be png8/24, jpg,bmp,gif
mExport_Settings.format = "png24";
mExport_Settings.bbox = map.extent;
mExport_Settings.height = "800";
mExport_Settings.width = "800";
mExport_Settings.layerIds = [1, 4];
mExport_Settings.layerOption = esri.layers.ImageParameters.LAYER_OPTION_SHOW;
mExport_Settings.transparent = true;
var mapImage = esri.layers.MapImage;
mapImage = map.exportMapImage(mExport_Settings);
alert(mapImage.href);
}<!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"/>
<title>Create Map</title>
<link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/2.1/js/dojo/dijit/themes/claro/claro.css">
<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.1"></script>
<script type="text/javascript">
dojo.require("esri.map");
function init() {
var map = new esri.Map("map");
var dLayer = new esri.layers.ArcGISDynamicMapServiceLayer("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Population_World/MapServer", {"opacity":0.5});
map.addLayer(dLayer);
var params = new esri.layers.ImageParameters();
params.format = 'png24';
params.bbox = map.extent;
params.height = '800';
params.width = '800';
params.layerIds = [0];
params.layerOption = esri.layers.ImageParameters.LAYER_OPTION_SHOW;
params.transparent = true;
dLayer.exportMapImage(params, function(img) {
console.log(img);
});
}
dojo.addOnLoad(init);
</script>
</head>
<body class="claro">
<div id="map" style="width:900px; height:600px; border:1px solid #000;"></div>
</body>
</html
First thing, exportMapImage is a layer method, not a map method so you need to call it on a dynamic map service layer. Second, provide a callback function to handle the map image that is returned. Something like this:<!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"/> <title>Create Map</title> <link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/2.1/js/dojo/dijit/themes/claro/claro.css"> <script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.1"></script> <script type="text/javascript"> dojo.require("esri.map"); function init() { var map = new esri.Map("map"); var dLayer = new esri.layers.ArcGISDynamicMapServiceLayer("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Population_World/MapServer", {"opacity":0.5}); map.addLayer(dLayer); var params = new esri.layers.ImageParameters(); params.format = 'png24'; params.bbox = map.extent; params.height = '800'; params.width = '800'; params.layerIds = [0]; params.layerOption = esri.layers.ImageParameters.LAYER_OPTION_SHOW; params.transparent = true; dLayer.exportMapImage(params, function(img) { console.log(img); }); } dojo.addOnLoad(init); </script> </head> <body class="claro"> <div id="map" style="width:900px; height:600px; border:1px solid #000;"></div> </body> </html
var mExport_Settings = new esri.layers.ImageParameters();
//Set image formate property could be png | png8 | png24 | jpg | pdf | bmp | gif | svg
//ALWASY USE PNG FORMAT SO WORLD FILE AND PROJECTION FILE WORK
mExport_Settings.format = "png24";
mExport_Settings.bbox = map.extent;
mExport_Settings.height = 1600;
mExport_Settings.width = 1600;
mExport_Settings.dpi = 300;
mExport_Settings.layerIds = [10000];
mExport_Settings.layerOption = esri.layers.ImageParameters.LAYER_OPTION_EXCLUDE;
mExport_Settings.transparent = true;
facility_service.exportMapImage(mExport_Settings, function(mapImage) {
var xmin = map.extent.xmin;
var ymin = map.extent.ymin;
var xmax = map.extent.xmax;
var ymax = map.extent.ymax;
var extent_string = xmin + "|" + ymin + "|" + xmax + "|" + ymax;
var jGraphics = "";
if (redlineMarkup_GraphicsLayer != null) {
if (redlineMarkup_GraphicsLayer.graphics.length > 0) {
for (var i = 0, il = redlineMarkup_GraphicsLayer.graphics.length; i < il; i++) {
var gJ = redlineMarkup_GraphicsLayer.graphics.toJson();
jGraphics += dojo.toJson(gJ) + "#";
}
}
}
var lString = mapImage.href + "|" + dojo.toJson(map.extent.toJson()) +"|" + extent_string + "|" + jGraphics + "|" + note_string + "|" + mExport_Settings.width + "|" + mExport_Settings.height;
intialize_redline_export_callback.PerformCallback(lString);
});