前言:
4.x版本和3.x版本的目录结构和文件名称都有一些变化,网上基本上都是3.x的示例 对4.x是不可以直接使用,4.x版本对底层进行了大的改动,这儿不详细介绍,下面进入我们的开发之旅、这里我用的是4.2版本的,总之,不要低于4.0;
ArcGis For JavaScript 4.2 API网址:
https://developers.arcgis.com/javascript/latest/sample-code/get-started-mapview/index.html
1.下载地址:
链接: https://pan.baidu.com/s/1eSnEme2 密码: r2tb
2.这里以Java Web 工程为例,
在工程WebRoot下创建文件夹 arcgis_js;
3.解压 arcgis_js_v42_api.zip ,拷贝 arcgis_js_v42_api\arcgis_js_api\library\4.2\4.2 下的内容到 WebRoot/arcgis_js目录下;
4.修改arcgis_js\init.js 和 arcgis_js\dojo\dojo.js 两个文件,替换 [HOSTNAME_AND_PATH_TO_JSAPI]为 localhost:8080/ArcgisForJs/arcgis_js/ ,
格式:IP:web服务器端口/工程名/创建的文件夹arcgis_js
5.以上步骤完成后,即可调用ArcGis For JavaScript API;
6.新建jsp页面或者html页面,引用所需js文件及css文件,一般基本的引入 如下图所示三个

7.编写一个div块,用于显示地图用的

8.开始编写加载地图的相应JS代码

9.require关键字块是用来加载JS模块,就是JAVA中导包的概念;
function括号中传的是require加载的JS模块类,以便在方法体内实例化对象使用
可通过构造函数的方式修改对象的属性值
10.下面贴出全部html代码:
01 | < strong ><%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> |
03 | String path = request.getContextPath(); |
04 | String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; |
07 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
10 | < base href="<%=basePath%>"> |
11 | < title >My fisrt ArcGis Map</ title > |
13 | < link rel = "stylesheet" type = "text/css" href = "arcgis_js/dijit/themes/claro/claro.css" /> |
14 | < script type = "text/javascript" src = "arcgis_js/init.js" ></ script > |
15 | < link rel = "stylesheet" type = "text/css" href = "arcgis_js/esri/css/main.css" /> |
29 | //全局require()函数(由Dojo提供)用于加载模块 |
31 | "esri/Map",//使用新的地图创建Map,这是从esri/Map模块加载的Map类的引用 |
32 | "esri/views/MapView",//创建2D视图(SceneView为3D视图) |
33 | "esri/layers/FeatureLayer", |
36 | function(Map,MapView,FeatureLayer){ |
37 | //可以指定地图属性,例如basemap,将对象传递给Map构造函数 |
41 | var view = new MapView({ |
42 | container: "viewDiv",//显示地图的div块 |
45 | center: [116, 35] //地图显示中心点坐标 |
47 | var featureLayer = new FeatureLayer({ |
51 | map.add(featureLayer); |
58 | < div id = "viewDiv" ></ div > |
最后运行效果、如下图:
