arcgis api for js入门开发系列一arcgis api离线部署
在我的GIS之家QQ群里,很多都是arcgis api for js开发的新手,他们一般都是GIS专业的学生,或者从计算机专业刚刚转向来的giser,他们难免会遇到各种webgis开发的简单问题,由于白天工作忙碌的原因,没有来得及回答他们的提出的问题,所以利用空余时间来写一系列简单的入门arcgis api for js开发教程,仅供初学者giser学习使用,其中写的不足之处,欢迎批评指正,大家一起交流学习。
arcgis for js开发依赖arcgis地图服务的,而arcgis地图服务的发布是通过arcgisserver来发布的,所以,首先要学会安装arcgisserver,还有就是学会如何发布地图服务。要是这些不懂的giser,可以参照我前面写的arcgisserver安装篇:http://www.cnblogs.com/oolili/p/4290775.html;还有就是arcgis地图服务发布篇:http://www.cnblogs.com/oolili/p/4752114.html、http://www.cnblogs.com/oolili/p/4752204.html。
下面开始arcgis api for js开发环境的离线部署:
(1)首先,从esri官网下载arcgis api,版本自己选择,官网下载最新版本api的地址:https://developers.arcgis.com/downloads/;

备注:下载api需要注册arcgis用户才行
(2)其次,本地部署arcgis api,由于本机的网络原因,下载太慢了,所以这里用3.14版本api来替换。
这里以IIS服务器为例,tomcat服务器同理。解压后在IIS中建立应用程序,如下图。配置好API应用程序后,其路径为http://localhost/arcgis_js_api

(3)然后,配置arcgis api,由于本机的网络原因,下载太慢了,所以这里用3.14版本api来替换,但是没关系,配置原理是一样的。
1.配置init.js文件
打开下载api里面的init.js文件,我的目录是:C:\inetpub\wwwroot\arcgis_js_api\library\3.14\3.14\init.js,
把[HOSTNAME_AND_PATH_TO_JSAPI]替换成api在本地机器上的部署路径,注意路径无需包含http://。
我的配置如下:localhost/arcgis_js_api/library/3.14/3.14/dojo

2.配置dojo.js文件
打开下载api里面的init.js文件,我的目录是:C:\inetpub\wwwroot\arcgis_js_api\library\3.14\3.14\dojo\dojo.js,
把[HOSTNAME_AND_PATH_TO_JSAPI]替换成api在本地机器上的部署路径,注意路径无需包含http://。
我的配置如下:localhost/arcgis_js_api/library/3.14/3.14/dojo

(4)最后,测试配置的api是否成功。
打开浏览器,输入:http://localhost/arcgis_js_api/library/3.14/3.14/init.js

打开浏览器,输入:http://localhost/arcgis_js_api/library/3.14/3.14/dojo/dojo.js

打开浏览器,输入:http://localhost/arcgis_js_api/library/3.14/3.14/esri/css/esri.css

要是在浏览器输入都可以打开,没路径错误的话,说明已经API配置成功!
这里顺便提提调用在线arcgis api,在线模式,顾名思义,就是在外网的情况调用esri官网的api,这种模式有利有弊。
好处就是不用配置离线环境,也不用部署什么的,在html引用api直接调用:
<link rel="stylesheet" href="https://js.arcgis.com/3.18/esri/css/esri.css">
<script src="https://js.arcgis.com/3.18/"></script>
坏处:依赖网速,网络不好的时候,加载api的js和css慢,影响网页展示效果
arcgis api for js入门开发系列一arcgis api离线部署的更多相关文章
- 转:arcgis api for js入门开发系列四地图查询
原文地址:arcgis api for js入门开发系列四地图查询 arcgis for js的地图查询方式,一般来说,总共有三种查询方式:FindTask.IdentifyTask.QueryTas ...
- arcgis api for js入门开发系列四地图查询(含源代码)
备注:由于实现本篇功能的需求,修改了地图数据的dlsearch.mxd,然后更新了地图服务,需要的在文章最后有提供最新的mxd以及源代码下载的 上一篇实现了demo的地图工具栏,本篇新增地图查询功能, ...
- arcgis api for js入门开发系列十一地图统计图
上一篇实现了demo的叠加SHP图层,本篇新增地图统计图,截图如下: 地图统计图实现的思路如下:利用拓展arcgis api的js文件(MapChartGraphic.js以及MapChartGrap ...
- arcgis api for js入门开发系列二十打印地图的那些事
前面我写过关于利用arcgis api for js打印地图的,但是打印地图服务都是基于arcgis server发布的,arcgis api加载在线地图,比如天地图.百度地图.高德地图等,底图都是打 ...
- arcgis api for js入门开发系列十六迁徙流动图
最近公司有个arcgis api for js的项目,需要用到百度echarts迁徙图效果,而百度那个效果实现是结合百度地图的,怎么才能跟arcgis api结合呢,网上搜索,终于在github找到了 ...
- arcgis api for js入门开发系列八聚合效果(含源代码)
上一篇实现了demo的图层控制模块,本篇新增聚合效果,截图如下(源代码见文章底部): 聚合效果实现的思路如下: 1.map.html引用聚合包,项目已经包含进来了的聚合文件夹: <script ...
- arcgis api for js入门开发系列七图层控制(含源代码)
上一篇实现了demo的地图分屏对比模块,本篇新增图层控制模块,截图如下(源代码见文章底部): 图层控制模块实现的思路如下: 1.在地图配置文件map.config.js里面配置图层目录树节点信息,作为 ...
- arcgis api for js入门开发系列六地图分屏对比(含源代码)
上一篇实现了demo的地图标绘模块,本篇新增地图地图分屏对比模块,截图如下(源代码见文章底部): 对效果图的简单介绍一下,在demo只采用了两分屏对比,感兴趣的话,可以在两分屏的基础上拓展,修改css ...
- arcgis api for js入门开发系列五地图态势标绘(含源代码)
上一篇实现了demo的地图查询功能,本篇新增地图态势标绘模块,截图如下: 本篇核心的在于调用API的Draw工具:https://developers.arcgis.com/javascript/3/ ...
随机推荐
- git &github 快速入门
本节内容 github介绍 安装 仓库创建& 提交代码 代码回滚 工作区和暂存区 撤销修改 删除操作 远程仓库 分支管理 多人协作 github使用 忽略特殊文件.gitignore 1.gi ...
- sqlyog导出json数据格式支持mysql数据转存mongodb
<!-------------知识的力量是无限的(当然肯定还有更简单的方法)-----------!> 当我考虑将省市区三级联动数据从mysql转入mongodb时遇到了网上无直接插入mo ...
- fhq treap最终模板
新学习了fhq treap,厉害了 先贴个神犇的版, from memphis /* Treap[Merge,Split] by Memphis */ #include<cstdio> # ...
- 机器指令翻译成 JavaScript —— No.5 指令变化
上一篇,我们通过内置解释器的方案,解决任意跳转的问题.同时,也提到另一个问题:如果指令发生变化,又该如何应对. 指令自改 如果指令加载到 RAM 中,那就和普通数据一样,也是可以随意修改的.然而,对应 ...
- 腾讯云下安装 nodejs + 实现 Nginx 反向代理
本文将介绍如何给腾讯云上的 Ubuntu Server 12.04 LTS 64位主机安装 node 及 nginx,并简单配置反向代理. 笔者在整个安装过程中遇到不少麻烦(不赘述),如果你希望少踩坑 ...
- U3D DrawCall优化手记
在最近,使用U3D开发的游戏核心部分功能即将完成,中间由于各种历史原因,导致项目存在比较大的问题,这些问题在最后,恐怕只能通过一次彻底的重构来解决 现在的游戏跑起来会有接近130-170个左右的Dra ...
- 【Knockout.js 学习体验之旅】(3)模板绑定
本文是[Knockout.js 学习体验之旅]系列文章的第3篇,所有demo均基于目前knockout.js的最新版本(3.4.0).小茄才识有限,文中若有不当之处,还望大家指出. 目录: [Knoc ...
- C# 根据类型名称 生成实体 调用方法
System.Reflection.Assembly ass = System.Reflection.Assembly.Load("项目名称或者DLL"); //System.Th ...
- 最好的5个Android ORM框架
在开发Android应用时,保存数据有这么几个方式, 一个是本地保存,一个是放在后台(提供API接口),还有一个是放在开放云服务上(如 SyncAdapter 会是一个不错的选择). 对于第一种方式, ...
- AngularJS_01之基础概述、设计原则及MVC设计模式
1.AngularJS: 开源的JS框架,用来开发单一页面应用,以及数据操作频繁的场景:2.设计原则: ①YAGNI原则:You Aren't Gonna Need It! 不要写不需要的代码! ②K ...