ArcGISAPIforJavaScript入门目录ArcGISAPIforJavaScript简介ArcGISAPIforJavaScript入门ArcGISAPIforJavaScript简介什么是ArcGISAPIforJavaScript?首先发布于ArcGIS9.3.调用ArcGISServerRESTAPI的一组JavaScript脚本。基于功能强大的Dojo工具包可以做什么?快速创建交互式的地图应用使用ArcGISServer的RESTAPI,可以实现显示、查询、分析等功能。调用ArcGISServer的GP服务,提供专业的分析结果可以同时调用多个ArcGISServer的服务,轻松实现融合应用。为什么选择JavaScript所有的主流的浏览器均支持JavaScript,无需安装任何插件JavaScript是世界最常用的开发语言之一,轻量级的Web开发脚本语言纯粹的客户端语言(运行在客户端的浏览器内),包括桌面和移动端有各种成熟的JavaScript框架:Dojo、jQuery、ExtJS、Prototype、YUI……为什么使用Dojo?Dojo宽松的使用许可AcademicFreeLicense&BSD支持类,及继承。通过使用dojo.gfx简化在SVG、Canvas和VML上绘制矢量图形的代码。Dojo和Dijit易用使用,功能齐全Dojo支持国际化其他JavaScript框架能实现的Dojo也可以实现支持多种客户端、浏览器ArcGISAPIforJavaScript入门ArcGISAPIforJavaScript入门ArcGISAPIforJavaScript安装JavaScript基础入门Dojo基础入门ArcGISServerRestAPIAPIContentMap&LayerGraphicInfowindowTaskArcGISAPIforJavaScript安装安装配置jsapiArcGISAPIforJavaScript安装需要一个WebServerIIS、Tomcat……下载ArcGISAPIforJavaScript的Library将下载的Library压缩文件中的arcgis_js_api目录解压到WebServer的目录下IIS:%SystemDrive%\inetpub\wwwrootTomcat的webapps目录下。ArcGISServer10.1的tomcat在%AGSSERVER%\framework\runtime\tomcatArcGISAPIforJavaScript安装修改arcgis_js_api\library\3.2\jsapi目录下的init.js及再下级目录js\dojo\dojo\dojo.js文件将两个文件中的[HOSTNAME_AND_PATH_TO_JSAPI]替换为myserver:port/arcgis_js_api/library/3.2/jsapi/,如果端口号为80则可省略。修改arcgis_js_api\library\3.2\jsapicompact目录下的init.js及再下级目录js\dojo\dojo\dojo.js文件将两个文件中的[HOSTNAME_AND_PATH_TO_JSAPI]替换为myserver:port/arcgis_js_api/library/3.2/jsapicompact/,如果端口号为80则可省略。OK,至此ArcGISAPIforJavaScript安装完成。ArcGISServer10.1离线浏览打开文件C:\ProgramFiles\ArcGIS\Server\framework\runtime\tomcat\webapps\arcgis#rest\WEB-INF\classes\resources\rest-config.properties修改文件中jsapi.arcgis和jsapi.arcgis.css,将这两个值指向本地部署的离线API的地址。第一个地图程序:HelloWorld!DOCTYPEhtmlhtmlxmlns=;charset=utf-8/titleHelloWorld/titlelinkrel=stylesheettype=text/csshref=http://localhost:6080/arcgis_js_api/library/3.2/jsapi/js/dojo/dijit/themes/tundra/tundra.css/linkrel=stylesheettype=text/csshref=http://localhost:6080/arcgis_js_api/library/3.2/jsapi/js/esri/css/esri.css/scripttype=text/javascriptsrc=http://localhost:6080/arcgis_js_api/library/3.2/jsapi/init.js/scriptstyletype=text/csshtml,body,#mapDiv{width:100%;height:100%;}/stylescripttype=text/javascriptdojo.require(esri.map);functioninit(){varmyMap=newesri.Map(mapDiv);varmyTiledMapServiceLayer=newesri.layers.ArcGISTiledMapServiceLayer(http://lxh-pc:6080/arcgis/rest/services/JSApiDemo/MapServer);myMap.addLayer(myTiledMapServiceLayer);}dojo.addOnLoad(init);/script/headbodyclass=tundradivid=mapDiv/div/body/htmlArcGISAPIforJavaScript帮助安装下载ArcGISAPIforJavaScript的SDK将下载的SDK压缩文件里的arcgis_js_api目录解压到WebServer的目录下。IIS:%SystemDrive%\inetpub\wwwrootTomcat的webapps目录下。ArcGISServer10.1的tomcat在%AGSSERVER%\framework\runtime\tomcat完成完成。在浏览器中打开帮助地址http://localhost/arcgis_js_api/sdk/index.html(IIS)ArcGISAPIforJavaScript智能提示在VisualStudio2012/2010及Apanta中支持vsdoc智能提示方法:从SDK的”APIReference”的”CodeAssistPlugins”页面中下载与开发工具对应的vsdoc文件。在VisualStudio中使用方法:html文档:scripttype=text/javascriptsrc=jsapi_vsdoc_v32_2012.js/scriptjs文件:///referencepath=jsapi_vsdoc_v32_2012.js/在Apanta中使用方法:将vsdoc文件拖拽到apanta的工程中。JavaScript基础入门认识javascript认识JavaScript真实的名称是ECMAScript,ECMA-262是正式的JavaScript标准。JavaScript被设计用来向HTML页面添加交互行为JavaScript是一种脚本语言(脚本语言是一种轻量级的编程语言)JavaScript由数行可执行计算机代码组成JavaScript通常被直接嵌入HTML页面JavaScript是一种解释性语言(就是说,代码执行不进行预编译)所有的人无需购买许可证均可使用JavaScriptJavaScript能做什么?JavaScript为HTML设计师提供了一种编程工具JavaScript可以将动态的文本放入HTML页面JavaScript可以对事件作出响应JavaScript可以读写HTML元素JavaScript可被用来验证数据JavaScript可被用来检测访问者的浏览器JavaScript可被用来创建cookiesJavaScript特点脚本语言:解释执行,不需要预编译基于对象的语言:基于对象的语言、也可看做面向对象的简单性:量类型是采用弱类型,容易学习安全性:不能访问本地硬盘、不能存数据到服务器……动态性:事件驱动的方式与用户交互跨平台性:和系统无关,只要有浏览器JavaScript语言基础标识符命名变量、函数名、操作符都区分大小写,不能使用关键字以字母开头,可以包含数字和下划线。代码注释单行注释://单行注释内容。多行注释:/*注释内容,可以换行*/变量定义JavaScript弱类型语言以var来定义,比如varp=1JavaScript语言基础主要数据类型数值:整数、浮点数12,0xA0,12.3逻辑值:布尔值true、false字符串值“ThisaApple”、转义字符”\t””\,”……空值null未定义值undefinded。对象Object使用typeof操作符判定类型JavaScript语言基础运算符算术运算符:+、-、*、/、%、-(一元取反)、++、--等同运算符与全同运算符:==、===、!==、!===比较运算符:、、=、=字符串运算符::、、=、=、=、+逻辑运算符:&&、||、!、赋值运算符:=、+=、*=、-=、/=类型转换其它类型到字符串:Boolean,Number,都有toString()方法Boolean--String可能返回字符串true或flaseNumber--String字符串转换成数字:parseInt(字符串)parseFloat(字符串)强制转换:Boolean(value)、Number(value)、String(value)JavaScript语言基础语句if语句:if(condition){statement1}else{statement2}do语句do{statement}while(expression)JavaScript语言基础语句while语句while(expression){statement}for语句for(vari=0;i100;i++){statement}JavaScript语言基础语句switch语句switch(variable){case(conditionorvalue):statementbreak;case(conditionorvalue)statementbreak;……default:statementbreak;}object两种创建方式第一种方式:varobj=newobject();obj.text=“helloworld”;obj.id=1;第二种方式:varobj={★text=“helloworld”;★id=1;}两种使用方式alert