arcgis for js 本地部署

刚进入新公司,新项目马上要下来了,我定睛一看,里面居然有地图服务,我一看就乐了,不就是地图吗?好歹咱也是调过百度地图的程序猿啊,后来客户需求说这是个内网的系统,也就是说,不能上网,黑人问号脸?那怎么办,后来客户说用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,那么我会告诉你

这里写图片描述

想要哪个版本,私信我,或者评论,留下你的邮箱,我给你发,兄弟我就是这么慷慨,哈哈!

猜你喜欢

转载自blog.csdn.net/zhaoxiang66/article/details/80619473
今日推荐