刚进入新公司,新项目马上要下来了,我定睛一看,里面居然有地图服务,我一看就乐了,不就是地图吗?好歹咱也是调过百度地图的程序猿啊,后来客户需求说这是个内网的系统,也就是说,不能上网,黑人问号脸?那怎么办,后来客户说用arcgis,WTF?这又是什么鬼?听都没听过啊,一首《凉凉》送给自己,听完《凉凉》后,我就冷静了下来,不会没关系,没接触过没关系,我可以学,一定有js的API可以调,就像百度地图,我去打开了官网,全是英文。。。我tm。。
对于一个刚刚过了四级线的人来说,简直是又凉一波,又听了一遍凉凉后,我就各种查资料,上大神的博客,去看,去学习,终于被我搞出来了一些
下面我说一下,arcgis for js 的API最新的是4.7版本的,如果你的项目里面有3D图的需求,那就用4.x的版本,如果只有2D图的需求,我建议用3.x版本,因为4.x版本并没有draw这个js,也就是说,画图的话,得自己写函数,是不是很蛋疼。。所以我选了3.17版本
下载下来,目录是这个样子的
你把arcgis_js_api这个文件夹复制到你的项目里面去,然后看一下在window怎么部署的
重点看我的箭头位置,把里面的字符串换成自己本机的ip就可以了,首先是
H:\arcgis\arcgis_js_v317_api\arcgis_js_api\library\3.17\3.17里面的init.js
搜索 HOSTNAME_AND_PATH_TO_JSAPI,将它替换了就可以了,下面看我的截图
还有一个文件要这样修改
H:\arcgis\arcgis_js_v317_api\arcgis_js_api\library\3.17\3.17\dojo里面的dojo.js
还是这个图
配置好以后,就可以在本机跑了
我看网上的大神们都是用的电脑自带的iis,启动的服务,可我们是前端开发人员[斜眼笑],当然要用nodejs了,哈哈,我就是用nodejs的http-server起的本地服务,如果不清楚怎么启动服务,那么我在nodejs目录下写一下这个东西,下面是测试代码,如果能出来图,说明你配置成功
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" type="text/css" href="./arcgis_js_api/library/3.17/3.17/dijit/themes/tundra/tundra.css"/>
<link rel="stylesheet" type="text/css" href="./arcgis_js_api/library/3.17/3.17/esri/css/esri.css" />
<title>test</title>
</head>
<body class="tundra">
<div id="mapDiv" style="width:900px; height:600px; border:1px solid #000;"></div>
<script type="text/javascript" src="./arcgis_js_api/library/3.17/3.17/init.js"></script>
<script>
dojo.require("esri.map");
function init() {
var myMap = new esri.Map("mapDiv");
//note that if you do not have public Internet access then you will need to point this url to your own locally accessible cached service.
var myTiledMapServiceLayer = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/NGS_Topo_US_2D/MapServer");
myMap.addLayer(myTiledMapServiceLayer);
}
dojo.addOnLoad(init);
</script>
</body>
</html>
这里我用的相对路径引入的,你也可以用绝对路径引入,
如果看到上面的图出来了,恭喜你,你已经入了arcgis的坑!!!
如果说你不知道在哪下载API,那么我会告诉你
想要哪个版本,私信我,或者评论,留下你的邮箱,我给你发,兄弟我就是这么慷慨,哈哈!