1. 引言

在学习 ArcGIS API 的过程中,如果我们引用在线的 API,在没有网络或者网络差的情况下,会影响到我们的学习效率,本篇文章就是为了解决这个问题。下载 ArcGIS API 之后,部署到本地,会大大提高用户体验。

2. 步骤

在部署之前,我们要下载 API ,这里我分享下各个版本的 API,有需要的请自行下载,提取码为 ajx1

将文件部署到本地,然后通过 HTTP 的方式访问,这就需要将本机当成服务器,以下两种方法就是通过不同的服务器部署的(ISS 和 Tomcat)。

2.1 ISS 部署

2.1.1 打开 ISS 功能

按照以下顺序进行操作:打开控制面板 - 程序 - 打开或关闭 Windows 功能,以下是一些需要打开的功能。点击确定后等待开启。





打开 ISS 功能之后,我们会发现 C 盘下多了一个 inetpub 文件夹(如果是按照默认配置的话)。inetpub 文件夹进去之后的 wwwroot 就是我们服务的根目录。

如果我们把一个 thst.html 文件放在 wwroot 文件夹下,那么访问路径就为 http://localhost/test.html

2.1.2 修改 dojo.js 和 init.js 文件

解压下载好的 api 压缩包,里面有一个 install_API.html 文件,我们修改这两个文件主要是根据这个文件,打开之后点击 windows,跳转 windows 配置的页面。



虽然该 HTML 文件是英文,我们只需找到我们所需要的信息就可以了。

根据上面的提示,我们找到 init.js 和 dojo.js 文件中的 [HOSTNAME_AND_PATH_TO_JSAPI],改成 : http://localhost/... ,localhost 后面加上的路径确保能够访问到 init.js 文件。

例如我 init.js 文件是在这个路径: C:\inetpub\wwwroot\arcgis_js_api_v320\library\3.20\3.20\init.js,那么我应该讲上述配置改为 http://localhost/arcgis_js_api_v320/library/3.20/3.20。

接下来的三个配置和这个类似,就不再展开。

2.1.3 测试部署是否成功

按照上面的配置,确保在浏览器窗口输入 http://localhost/arcgis_js_api_v320/library/3.20/3.20compact/init.js ,如果能够访问到 init.js 文件。根据不同的部署环境应输入不同 URL。

接着讲下面这段代码放在一个 HTML 文件中,如果能够看到以下画面,说明 API 部署成功。

需要将 两个 link 标签和一个 script 标签后面链接的文件地址改以下。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Simple Map</title>
<link rel="stylesheet" type="text/css" href="http://localhost/arcgis_js_api_v320/library/3.20/3.20/dijit/themes/tundra/tundra.css"/>
<link rel="stylesheet" type="text/css" href="http://localhost/arcgis_js_api_v320/library/3.20/3.20/esri/css/esri.css" />
<script type="text/javascript" src="http://localhost/arcgis_js_api_v320/library/3.20/3.20/init.js"></script>
<script type="text/javascript">
dojo.require("esri.map");
function init() {
var myMap = new esri.Map("mapDiv");
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>
</head>
<body class="tundra">
<div id="mapDiv" style="width:900px; height:600px; border:1px solid #000;"></div>
</body>
</html>

2.2 Tomcat 部署

有了在 ISS 环境部署的经验,在 Tomcat 部署本质上是一样的。这里说明下一个需要主意的地方:

在修改 init.js 和 dojo.js 文件时,需要将路径修改为 http://localhost:8080/ ,这个路径表示 Tomcat 的 webapps 文件夹,在测试部署是否成功时,将 html 文件中的三个链接修改为对应的路径即可。

arcis api for js 值 3.17 本地部署的更多相关文章

  1. Arcgis 离线部署api 4.x的两种本地部署方法!

    引言:本文用的是api4.6版本 方法一  拷贝api进去tomcat服务器用绝对地址引用 首先将下载好的api放入Tomcat服务中的Webapp下: 1  可以打开下载好的的 api46/arcg ...

  2. arcgis api for js入门开发系列一arcgis api离线部署

    在我的GIS之家QQ群里,很多都是arcgis api for js开发的新手,他们一般都是GIS专业的学生,或者从计算机专业刚刚转向来的giser,他们难免会遇到各种webgis开发的简单问题,由于 ...

  3. ArcGIS server开发之API for js 本地部署

    ArcGIS Server for javascript 本地部署 第一次使用arcgis server for js开发,在经验方面还有很多的不足,所以将自己在开发过程中遇到的问题写出来与大家共享. ...

  4. 在IIS服务器上本地部署 ArcGIS API for js 4.15

    作为一名刚入门的小白,还没开始一个helloworld就在软件安装,环境部署时遇到了一大堆问题,简直太让人头秃了,脑壳疼.话不多说,这篇主要想分享一下自己部署ArcGIS API for js 4.1 ...

  5. ArcGIS JavaScript API本地部署离线开发环境[转]

    原文地址:http://www.cnblogs.com/brawei/archive/2012/12/28/2837660.html 1 获取ArcGIS JavaScript API API的下载地 ...

  6. AGS API for JS代理页的使用

    AGS API for JS代理页的使用 1.概述 代理页即使用后端语言编写的请求转发页面,部署在Web应用端.客户端请求先发送到该代理页,代理页再将该请求转发到服务器处理,服务器处理结果再经代理页转 ...

  7. php中关于js保存文件至本地的问题

    最近在搞一个livezilla的在线客服聊天的东东,客户界面要求添加一个下载聊天记录的功能.于是我就是翻看了下网上的各种关于”js保存文件至本地“的资料,发现只能在IE下通过execCommand实现 ...

  8. ArcGIS API for JavaScript 4.x 本地部署之Apache(含Apache官方下载方法)

    IIS.Nginx都说了,老牌的Apache和Tomcat也得说一说(如果喜欢用XAMPP另算) 本篇先说Apache. 安装Apache 这个...说实话,比Nginx难找,Apache最近的版本都 ...

  9. ArcGIS API for JavaScript 4.x 本地部署之Nginx法

    上篇ArcGIS API for JavaScript 4.x 离线配置之IIS法提到,如何用IIS配置ArcGIS jsAPI: 本篇则使用http下的Nginx配置,其原理基本一致.https的部 ...

随机推荐

  1. Linux0.11启动过程

    从开机加电,到执行main函数之前的过程 好吧,这里应该是有执行3个汇编的文件,但是我不太了解.囧 从main函数,到启动OK(即可以响应用户操作了) 这个步骤做了3件事情: 创建进程0,使之具备在主 ...

  2. 【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解 (旧版本 | 仅作参考)

    . 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 ...

  3. 《java入门第一季》之面向对象(成员方法)

    /* 类的组成:成员变量,成员方法 又加入了一个新的成员:构造方法. 以后再提(类的组成): 成员变量 构造方法 成员方法 根据返回值: void类型 非void类型 形式参数: 空参方法 非空参方法 ...

  4. android重启代码

    首先新建一个app然后添加 android:sharedUserId="android.uid.system" 再添加重启的权限 <uses-permission andro ...

  5. 【一天一道LeetCode】#4 Median of Two Sorted Arrays

    一天一道LeetCode (一)题目 There are two sorted arrays nums1 and nums2 of size m and n respectively. Find th ...

  6. 集群增量会话管理器——DeltaManager

    DeltaManager会话管理器是tomcat默认的集群会话管理器,它主要用于集群中各个节点之间会话状态的同步维护,由于相关内容涉及到集群,可能会需要一些集群通信相关知识,如果有疑问可结合集群相关章 ...

  7. Struts-ValueStack和OGNL总结

    (1)ValueStack是一个借口,在Struts2中使用OGNL表达式实际上是使用实现了ValueStack接口类的OgnlValueStack,它是ValueStack的默认实现类. (2)Va ...

  8. 第一个Polymer应用 - (0)准备工作

    原文链接:  Getting Started - Your first Polymer application翻译时间: 2014年7月5日翻译人员: 铁锚 关于Polymer 的简介,请参考 CSD ...

  9. Linux - vim按键说明

    第一部份:一般模式可用的按钮说明,光标移动.复制贴上.搜寻取代等 移动光标的方法 h 或 向左箭头键(←) 光标向左移动一个字符 j 或 向下箭头键(↓) 光标向下移动一个字符 k 或 向上箭头键(↑ ...

  10. OpenCV——去雾

    这是一个简化的实现算法,完整的算法请参考: Single Image Haze Removal Using Dark Channel Prior --CVPR 2009 // define head ...