首先是开发环境的配置:
ESRI官网关于Javascript的内容(1)__获取ArcGIS API for Javascript
arcgis api for javascript是使用javascript的框架dojo写的,js api的使用就是在网页中引用对应js文件的路径,同时也有与之相关的css文件的路径。而arcgis api for javascript的js文件引用路径,可以直接使用官网提供的cdn(官网提供的js文件的在线路径,但是网络不好时对应js文件可能下载不来。);也可以直接下载arcgis api for javascript 的sdk包,然后在自己的电脑上发布成一个网站,然后就可以调用了。
简单的开始:
<link rel="stylesheet" href="https://js.arcgis.com/3.17/esri/css/esri.css" />
<script src="https://js.arcgis.com/3.17/"></script>
这里使用cdn,具体应用如上。js的引用,会自动加载https://js.arcgis.com/3.17/init.js文件。然后就可以用自己的html+js+css写地图应用了。
arcgis api for javascript的使用,在引用了对应文件之后,从自己的js代码中开始:
require(["esri/map","esri/basemaps"],function(Map,esriBasemaps){...});
所有的js代码都是放在require()函数的第二个函数参数的函数体内的。这是dojo框架加载类、对象等的一个方法。require的第一个参数是我们要用到的所有api中的类、对象(这里要说一下,arcgis api for javascript中用模块或者说是文件夹来组织代码,用类、对象来提供功能),所需要的必须都写在第一个list参数中。第二个参数是一个函数,函数的参数是require的第一个参数中的class、对象的名称(这个名字是自己取的,虽然可以随意取,但是对于arcgis api中的arcgis提供了取名规范,最好按照规范来,方便理解、分享等)。
在function函数体内,就可以书写执行代码了。首先就是dojo的ready方法(或者是 addOnaLoad方法),该方法的参数是一个函数,绑定的函数会在网页dom树加载完成之后开始执行。我们的代码中要使用dom对象,就应该在其加载完成之后开始执行。所有我们的执行代码一般都放在ready方法的函数参数的函数体内。
然后就是一个简单的例子:
requrie(["esri/map","esri/basemaps","dojo/ready","dojo/domReady"],function(Map,esriBasemaps,ready){ ready(function(){ var map = new Map("divid",{ basemap:"dark-gray", center:[113.225,22.369], zoom:13 }); }); });
地图是放在一个div中的,上面的divid就是我们的div 的id,对于这个div我们可以用css进行外观设置,跟其他的div一样。"dark-gray"是arcgis提供的一些在线的地图对象,可以换成我们自己的静态地图对象。