ArcGIS For JavaScript API 默认参数及示例

来源:互联网 发布:java jdbc查询数据库 编辑:程序博客网 时间:2024/05/29 17:55

查看原文:http://www.ibloger.net/article/1805.html

引用参考API:http://help.arcgis.com/en/webapi/javascript/arcgis/help/jshelp_start.htm

 

注:“esri.config”的是在1.3版中的的“esriConfig”的替代品。如果您使用的是1.2或更低的版本,您应该参阅默认API v1.2和更低的配置。对于版本1.3或更高版本,您可以使用“esri.config”在地方的“esriConfig”。虽然“esriConfig”可以继续使用,与1.3版本,您应该更新您的应用程序,而不是使用“esri.config”。
ArcGIS的JavaScript API中有一些默认的配置,可以被重写编程。
例如:
        var zoomSymbol = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID,
                        new esri.symbol.SimpleLineSymbol(
                                        esri.symbol.SimpleLineSymbol.STYLE_DASHDOT,newdojo.Color([ 0, 0, 255 ]),0.5 ]));
        esri.config.defaults.map.zoomSymbol = zoomSymbol.toJson();

下面的列表中包含的的默认JavaScript API配置。
(1)esri.config.defaults.io.alwaysUseProxy 不论怎样都使用代理: 默认:false
        esriConfig.defaults.io.alwaysUseProxy = true;
(2)esri.config.defaults.io.corsEnabledServers 添加到这个数组中启用跨域资源共享的服务器的URL。跨域资源共享(CORS)的Web应用程序可以绕过浏览器的同一原产地政策文件和访问资源或服务在不同的服务器/域。当Web服务器和浏览器的支持CORS,esri.request将不会使用代理执行跨域请求。 API提供了一些默认情况下,ESRI的服务器,所以重要的是要推到这个数组,而不是覆盖它的项目。

(3)esri.config.defaults.geometryService 指定默认的几何服务所使用的部件和操作。 (2.2)
        esri.config.defaults.geometryService = new esri.tasks.GeometryService(<输入几何服务网址>);
(4)esri.config.defaults.io.proxyUrl 发布时,应使用大型有效载荷的端点代理URL的位置。这必须位于同一个域中的HTML应用程序。            默认:null
        esriConfig.defaults.io.proxyUrl = "/arcgisserver/apis/javascript/proxy/proxy.ashx";
(5)esri.config.defaults.io.timeout 每个通过esri.request要求最多允许60秒的时间。如果没有响应返回或返回一个服务器端错误,
        esri.Error和错误返回处理程序被调用时的顺序。 (1.3) 默认:60秒
(6)esri.config.defaults.map.panDuration 时间长度(以毫秒为单位),该地图将采取平移程度。默认:350
(7)esri.config.defaults.map.panRate 时间长度(以毫秒为单位),地图上会刷新,因为它平移到下一个区。默认:50
(8)esri.config.defaults.map.slider 参数定义的滑动件的位置,大小和方向。
        默认: {left:"30px",top:"30px",width:null,height:"200px"}
(9)esri.config.defaults.map.sliderLabel 定义的参数的滑块刻度和相应的Tick标志。如果为null,则滑块将显示刻度。
        默认:Default: {tick:5,labels:null,style:"width:2em; font-family:Verdana; font-size:75%;"}
(10) esri.config.defaults.map.zoomDuration 时间长度,以毫秒为单位的地图放大程度。 默认:500
  (11)esri.config.defaults.map.zoomRate 以毫秒为单位,把它放大到下一个地图会刷新的时间长度。默认:50
  (12)esri.config.defaults.map.zoomSymbol SimpleFillSymbol使用代表的颜色,填充和轮廓属性的橡皮变焦。
        这是JSON表示的SimpleFillSymbol。
        默认:Default: {color:[0,0,0,64],outline:{color:[255,0,0,255],width:1.5,style:"esriSLSSolid"},style:"esriSFSSolid"}

 

示例(1)设置滑块位置:http://help.arcgis.com/en/webapi/javascript/arcgis/samples/mapconfig_orientation/index.html

       默认情况下,滑块是垂直方向的缩放级别您可以调整滑块水平方向上设置height属性的滑块为空

[html] view plain copy
print?
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">  
  2. <html>  
  3.   <head>  
  4.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>  
  5.     <meta http-equiv="X-UA-Compatible" content="IE=7,IE=9" />  
  6.     <!--The viewport meta tag is used to improve the presentation and behavior of the samples   
  7.       on iOS devices-->  
  8.     <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/>  
  9.     <title>Map Slider Position and Height</title>  
  10.     <link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.2/js/dojo/dijit/themes/claro/claro.css">  
  11.     <link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.2/js/esri/css/esri.css" />  
  12.       
  13.       
  14.     <script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=3.2"></script>  
  15.     <script type="text/javascript">  
  16.       dojo.require("esri.map");  
  17.   
  18.       function init() {  
  19.         //配置地图滑块水平是在左下角的地方  
  20.         esri.config.defaults.map.slider = { left:"10px", bottom:"10px", width:"200px", height:null };  
  21.   
  22.         var map = new esri.Map("map", {  
  23.           nav:false  
  24.         });  
  25.         map.addLayer(new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"));  
  26.       }  
  27.   
  28.       dojo.addOnLoad(init);  
  29.     </script>  
  30.   </head>  
  31.   <body class="claro">  
  32.     配置地图滑块的方向  
  33.     <div id="map" style="width:500px; height:500px; border:1px solid #000;"></div>  
  34.   </body>  
  35. </html>  


 

            esriConfig.defaults.map.slider = { right:"10px", bottom:"10px", width:"200px", height:null };

 

示例(2)设置滑块的显示label值。http://help.arcgis.com/en/webapi/javascript/arcgis/samples/mapconfig_customlabels/index.html

                 此示例演示如何您可以标记的缩放级别滑块尺度此示例使用一个ArcGISTiledMapServiceLayer,这意味着在特定的尺度层具有预渲染地图瓦片缓存你可以得到一个阵列的高速缓存该层tileInfo属性尺度如何在此示例中得到的标签在下面的代码lods(Levels of Detail——多细节层次)

var lods = layer.tileInfo.lods;
for (var i=0, il=lods.length; i<il; i++) {
  labels[i] = lods[i].scale;
}

在构建这个数组规模水平可以很容易地在esriConfig应用标签通过sliderLabel.labels的属性

esriConfig.defaults.map.sliderLabel = {
  ...
  labels: labels,
  ...
};

[html] view plain copy
print?
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">  
  2. <html>  
  3.   <head>  
  4.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>  
  5.     <meta http-equiv="X-UA-Compatible" content="IE=7,IE=9" />  
  6.     <!--The viewport meta tag is used to improve the presentation and behavior of the samples  on iOS devices-->  
  7.     <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/>  
  8.     <title>Map Slider Labels</title>  
  9.     <link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.2/js/dojo/dijit/themes/claro/claro.css">  
  10.     <link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.2/js/esri/css/esri.css" />  
  11.       
  12.     <style>  
  13.       /* 默认情况下,使地图的滑块标签是white, claro 使用black  */  
  14.       .claro .dijitRuleLabel {  
  15.         color: white;  
  16.       }  
  17.       html,body,#map,.map.container{  
  18.         padding:0;  
  19.         margin:0;  
  20.         height:100%;  
  21.       }  
  22.     </style>   
  23.     <script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=3.2"></script>  
  24.     <script type="text/javascript">  
  25.       dojo.require("esri.map");  
  26.   
  27.       function init(){  
  28.         var layer = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer");  
  29.         if (layer.loaded) {  
  30.           initMap(layer);  
  31.         } else {  
  32.           dojo.connect(layer, "onLoad", initMap);  
  33.         }  
  34.       }  
  35.   
  36.       function initMap(layer) {  
  37.   
  38.         //自定义滑块标签  
  39.        //使用层的比例刻度显示滑块标签  
  40.         var labels = [];  
  41.         var lods = layer.tileInfo.lods;  
  42.         for (var i=0il=lods.length; i<il; i++) {  
  43.           labels[i] = lods[i].scale;  
  44.         }  
  45.   
  46.         esri.config.defaults.map.sliderLabel = {  
  47.           tick: 0,  
  48.           labels: labels,  
  49.           style: "width:2em; font-family:Verdana; font-size:65%; color:#fff; padding-left:2px;"  
  50.         };  
  51.         var initExtent = new esri.geometry.Extent({"xmin":-18902571,"ymin":-1995923,"xmax":1134936,"ymax":8022830,"spatialReference":{"wkid":102100}});  
  52.           
  53.         var map = new esri.Map("map",{extent:initExtent});  
  54.           
  55.         dojo.connect(map,'onLoad',function(){  
  56.           dojo.connect(window,'resize',map,map.resize);  
  57.         });  
  58.         map.addLayer(layer);  
  59.       }  
  60.   
  61.       dojo.addOnLoad(init);  
  62.     </script>  
  63.   </head>  
  64.   <body class="claro">  
  65.     <div id="map"></div>  
  66.   </body>  
  67. </html>  

效果如下:

 

示例(3)自定义泛动画  http://help.arcgis.com/en/webapi/javascript/arcgis/samples/mapconfig_smoothpan/index.html

         当用户点击平移按钮您可以自定义动画行为panDurationpanRate,确定动画的持续时间帧刷新速率分别是Dojo的动画属性这些特性测量到250毫秒,默认为泛持续时间和25

[html] view plain copy
print?
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">  
  2. <html>  
  3.   <head>  
  4.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>  
  5.     <meta http-equiv="X-UA-Compatible" content="IE=7,IE=9" />  
  6.     <!--The viewport meta tag is used to improve the presentation and behavior of the samples   
  7.       on iOS devices-->  
  8.     <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/>  
  9.     <title>Map Pan Animation</title>  
  10.     <link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.2/js/dojo/dijit/themes/claro/claro.css">  
  11.     <link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.2/js/esri/css/esri.css" />  
  12.        
  13.     <script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=3.2"></script>  
  14.     <script type="text/javascript">  
  15.       dojo.require("esri.map");  
  16.   
  17.       function init() {  
  18.         //设置地图泛动画变慢  
  19.         esri.config.defaults.map.panDuration = 1000; //以毫秒为单位;默认持续动画事件:250  
  20.         esri.config.defaults.map.panRate = 50; //刷新率的缩放动画,默认帧刷新速率:25  
  21.   
  22.         var myExtent = new esri.geometry.Extent(-125, 28, -62, 45, new esri.SpatialReference({wkid:4326}));  
  23.         var map = new esri.Map("map", {nav:true, extent:esri.geometry.geographicToWebMercator(myExtent)});  
  24.         map.addLayer(new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer"));  
  25.       }  
  26.   
  27.       dojo.addOnLoad(init);  
  28.     </script>  
  29.   </head>  
  30.   <body class="claro">  
  31.     Configure map zoom pan animation  
  32.     <div id="map" style="width:1024px; height:512px; border:1px solid #000;"></div>  
  33.   </body>  
  34. </html>  


效果如下:

 

 

 

 

 

 

原创粉丝点击