描述:此示例演示如何添加一个地图绘制的服务器在用户每次缩放或平移。这样的地图不具有高速缓存的瓦片,被称为动态地图服务层。在ArcGISJavaScript API的动态地图服务为代表的ArcGISDynamicMapServiceLayer。
下面的代码行创建的地图:
var map =new esri.Map("map");
注意:
1、动态地图服务层的构造函数需要服务的REST端点的URL您可以使用服务指南地图服务找到的URL。使用时,需开启rest端的服务才能调用显示。
2、透明使用其setOpacity方法。然后地图上的addLayer方法添加层到地图。
dynamicMapServiceLayer.setOpacity(0.5); map.addLayer(dynamicMapServiceLayer);
3、本示例中的引用资源是我之前在本地IIS服务中部署好的,所以是localhost,大家可以参考下篇文章中的联接地址直接替换调即可。
代码如下:
<!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,IE=9" /> <!--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>Create Map</title> <!--<link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.2/js/dojo/dijit/themes/claro/claro.css"> <link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.2/js/esri/css/esri.css" /> <script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=3.2"></script> 与下面的引用相同,一种是本地,一种是在线 --> <link rel="stylesheet" type="text/css" href="http://localhost/arcgis_js_api/library/3.2/jsapi/js/dojo/dijit/themes/claro/claro.css"/> <link rel="stylesheet" type="text/css" href="http://localhost/arcgis_js_api/library/3.2/jsapi/js/esri/css/esri.css" /> <script type="text/javascript" src="http://localhost/arcgis_js_api/library/3.2/jsapi/init.js"></script> <script type="text/javascript"> dojo.require("esri.map"); // 相当于引入必要的包 function init() { //创建一个map对象 var map = new esri.Map("map"); var imageParameters = new esri.layers.ImageParameters(); //创建一个新的ImageParameters对象。构造函数没有参数 imageParameters.format = "jpeg"; //设置图像类型PNG24,注意,默认情况下是PNG8.类型有: png | png8 | png24 | jpg | pdf | bmp | gif | svg //非缓存的地图服务的URL var dynamicMapServiceLayer = new esri.layers.ArcGISDynamicMapServiceLayer("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Population_World/MapServer", {"opacity":0.8, "imageParameters":imageParameters}); map.addLayer(dynamicMapServiceLayer);// 放入地图对象中 } dojo.addOnLoad(init); </script> </head> <body class="claro"> <div id="map" style="width:900px; height:600px; border:1px solid #000;"></div> 创建一个地图,并增加了一个ArcGISDynamicMapServiceLayer.<br /> 地图导航使用鼠标: <ul> <li>拖动进行平移</li> <li>SHIFT + Click 回到中心位置</li> <li>SHIFT + Drag 放大</li> <li>SHIFT + CTRL + Drag 缩小</li> <li>鼠标向前滚动来放大</li> <li>鼠标向后滚动来放小</li> <li>使用箭头键移动</li> <li>+ 水平放大一级</li> <li>- 水平缩小一级</li> <li>双击中心和放大</li> </ul> </body> </html>
具体使用方法,属性和参数请参考API文档:http://help.arcgis.com/en/webapi/javascript/arcgis/help/jssamples/map_dynamic.html
效果图如下:
未经允许请勿转载:程序喵 » ArcGIS For JavaScript API dynamic Service —— 动态服务