在我的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.htmlhttp://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离线部署的更多相关文章

  1. 转:arcgis api for js入门开发系列四地图查询

    原文地址:arcgis api for js入门开发系列四地图查询 arcgis for js的地图查询方式,一般来说,总共有三种查询方式:FindTask.IdentifyTask.QueryTas ...

  2. arcgis api for js入门开发系列四地图查询(含源代码)

    备注:由于实现本篇功能的需求,修改了地图数据的dlsearch.mxd,然后更新了地图服务,需要的在文章最后有提供最新的mxd以及源代码下载的 上一篇实现了demo的地图工具栏,本篇新增地图查询功能, ...

  3. arcgis api for js入门开发系列十一地图统计图

    上一篇实现了demo的叠加SHP图层,本篇新增地图统计图,截图如下: 地图统计图实现的思路如下:利用拓展arcgis api的js文件(MapChartGraphic.js以及MapChartGrap ...

  4. arcgis api for js入门开发系列二十打印地图的那些事

    前面我写过关于利用arcgis api for js打印地图的,但是打印地图服务都是基于arcgis server发布的,arcgis api加载在线地图,比如天地图.百度地图.高德地图等,底图都是打 ...

  5. arcgis api for js入门开发系列十六迁徙流动图

    最近公司有个arcgis api for js的项目,需要用到百度echarts迁徙图效果,而百度那个效果实现是结合百度地图的,怎么才能跟arcgis api结合呢,网上搜索,终于在github找到了 ...

  6. arcgis api for js入门开发系列八聚合效果(含源代码)

    上一篇实现了demo的图层控制模块,本篇新增聚合效果,截图如下(源代码见文章底部): 聚合效果实现的思路如下: 1.map.html引用聚合包,项目已经包含进来了的聚合文件夹: <script ...

  7. arcgis api for js入门开发系列七图层控制(含源代码)

    上一篇实现了demo的地图分屏对比模块,本篇新增图层控制模块,截图如下(源代码见文章底部): 图层控制模块实现的思路如下: 1.在地图配置文件map.config.js里面配置图层目录树节点信息,作为 ...

  8. arcgis api for js入门开发系列六地图分屏对比(含源代码)

    上一篇实现了demo的地图标绘模块,本篇新增地图地图分屏对比模块,截图如下(源代码见文章底部): 对效果图的简单介绍一下,在demo只采用了两分屏对比,感兴趣的话,可以在两分屏的基础上拓展,修改css ...

  9. arcgis api for js入门开发系列五地图态势标绘(含源代码)

    上一篇实现了demo的地图查询功能,本篇新增地图态势标绘模块,截图如下: 本篇核心的在于调用API的Draw工具:https://developers.arcgis.com/javascript/3/ ...

随机推荐

  1. 企业shell面试题:获取51CTO博客列表倒序排序考试题

    #!/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin HTMLFILE=/home/oldboy/ht ...

  2. 解决Ubuntu Kylin 1610安装ANSYS17.2的NVIDIA显卡驱动问题

    Ubuntu Kylin 1610在安装完毕后,会自动安装显卡驱动,对于一般的图形图像使用来说自然不会有太大的问题,但是对于ANSYS17.2的一些模块,还是会出现问题.一个比较常见的问题就是Open ...

  3. #26 fibonacci seqs

    Difficulty: Easy Topic: Fibonacci seqs Write a function which returns the first X fibonacci numbers. ...

  4. fedora上部署ASP.NET——(卡带式电脑跑.NET WEB服务器)

    andrew,20130601,guilin 本文记录在树莓派(fedora)上部署ASP.NET MVC2 的过程. 本文共分为六部分,分别是前置条件,Apache的安装,Mysql的安装,安装mo ...

  5. GO基础(二)

    本例中梳理go语言中的协程和通道. package main import ( "fmt" "time" ) //func01.func02 为演示同步机制 f ...

  6. CSS 实现打字效果

    JS实现 最近做项目的时候需要实现一个字符逐个出现的打字效果,在网上一搜有个不错的jQuery插件Typed.js,效果很赞 <div class="element"> ...

  7. 最全的Windows Azure学习教程汇总

    Windows Azure 是微软基于云计算的操作系统,能够为开发者提供一个平台,帮助开发可运行在云服务器.数据中心.Web 和 PC 上的应用程序. Azure 是一种灵活和支持互操作的平台,能够将 ...

  8. JS的Object漫想:从现象到“本质”

    转自:http://zzy603.iteye.com/blog/973649 写的挺好,用于记录,把对象分成概念的Object(var f={})和 类的Object(function F(){}) ...

  9. 【WCF】基址与默认终结点

    五月份的时候,有位老友给老周提了个建议:希望老周写一写WCF的文章.其实老周以前是写过WCF的文章的,只是不是写在这个博客里,老周并不打算把X年前的博客导进来,要写的话,重新写吧.毕竟,那个时候写的文 ...

  10. C可变参数的函数

    我们实现一个简单的printf函数(可变参数) #include <stdio.h> #include <stdarg.h> void myprintf(const char ...