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. 关于C++程序的编码问题

    转自: http://blog.chinaunix.net/uid-26790551-id-3190813.html 我们传统的程序基本都只在Windows或只在Linux下运行,Windows程序使 ...

  2. RB-tree (红黑树)相关问题

    今天被问到了红黑树的规则,简述总结一下: 1.每个节点不是红色就是黑色. 2.根节点为黑色. 3.如果节点为红,其子节点必须为黑. 4.任一节点至NULL(树尾端)的任何路径,所含之黑节点数必须相同. ...

  3. Android性能优化之界面UI篇

    1.使用style.color.string.dimen样式来分离xml布局文件,减少代码的重复使用,增加代码复用率,防止hardcode,下面是一个例子: 在定义layout时候,因为每个View或 ...

  4. C#实现MD5算法

    using UnityEngine; using System.Collections; using System.Security.Cryptography; public class GetMD5 ...

  5. SharePoint 搜索爬网第三方网站配置

    介绍:SharePoint的搜索着实强大,而且最近用到SharePoint搜索第三方爬网,感觉收获挺大,而且网上资料没找到太多类似的,就小记录一下,分享给大家. 首先,我自己写了一个net页面,里面读 ...

  6. Java继承与多态

    感慨一下,到了现在感觉Java里面很多东西都是模模糊糊,不能这样了,一点点解决吧.今天看了继承与多态的一些内容,感觉看得很浅,先写下来,算是巩固,如果后面看到更好的内容,再慢慢加上去. 继承与多态,他 ...

  7. ubuntu 输入用户名密码又回到登陆界面

    问题描述: 输入正确的用户名密码,登陆后又返回登陆界面,重复出现. 问题解决: 环境变量出错,重新配置环境变量. 1.进入命令行模式Ctrl+Alt+F*,然后输入用户名密码: 2.登进去之后,以管理 ...

  8. obj-c编程10:Foundation库中类的使用(3)[文件管理]

    好吧,不管神马系统都无可避免的要说到文件,目录,路径(PATH)管理的内容,下面我们来看看在F库中对他们的支持.我简单看了下,不谈其他光从方法命名来说就多少显得有点复杂,如果和ruby相比就呵呵了. ...

  9. PHP单元测试使用

    单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证.对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类, ...

  10. Object对象你真理解了吗?

    前言 五一回家又断更了一个放假时间了~~~ 只有光头才能变强 回顾前面: ThreadLocal就是这么简单 多线程三分钟就可以入个门了! 多线程基础必要知识点!看了学习多线程事半功倍 Java锁机制 ...