首先是開發環境的配置:
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提供的一些在線的地圖對象,可以換成我們自己的靜態地圖對象。
