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/ ...
随机推荐
- 企业shell面试题:获取51CTO博客列表倒序排序考试题
#!/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin HTMLFILE=/home/oldboy/ht ...
- 解决Ubuntu Kylin 1610安装ANSYS17.2的NVIDIA显卡驱动问题
Ubuntu Kylin 1610在安装完毕后,会自动安装显卡驱动,对于一般的图形图像使用来说自然不会有太大的问题,但是对于ANSYS17.2的一些模块,还是会出现问题.一个比较常见的问题就是Open ...
- #26 fibonacci seqs
Difficulty: Easy Topic: Fibonacci seqs Write a function which returns the first X fibonacci numbers. ...
- fedora上部署ASP.NET——(卡带式电脑跑.NET WEB服务器)
andrew,20130601,guilin 本文记录在树莓派(fedora)上部署ASP.NET MVC2 的过程. 本文共分为六部分,分别是前置条件,Apache的安装,Mysql的安装,安装mo ...
- GO基础(二)
本例中梳理go语言中的协程和通道. package main import ( "fmt" "time" ) //func01.func02 为演示同步机制 f ...
- CSS 实现打字效果
JS实现 最近做项目的时候需要实现一个字符逐个出现的打字效果,在网上一搜有个不错的jQuery插件Typed.js,效果很赞 <div class="element"> ...
- 最全的Windows Azure学习教程汇总
Windows Azure 是微软基于云计算的操作系统,能够为开发者提供一个平台,帮助开发可运行在云服务器.数据中心.Web 和 PC 上的应用程序. Azure 是一种灵活和支持互操作的平台,能够将 ...
- JS的Object漫想:从现象到“本质”
转自:http://zzy603.iteye.com/blog/973649 写的挺好,用于记录,把对象分成概念的Object(var f={})和 类的Object(function F(){}) ...
- 【WCF】基址与默认终结点
五月份的时候,有位老友给老周提了个建议:希望老周写一写WCF的文章.其实老周以前是写过WCF的文章的,只是不是写在这个博客里,老周并不打算把X年前的博客导进来,要写的话,重新写吧.毕竟,那个时候写的文 ...
- C可变参数的函数
我们实现一个简单的printf函数(可变参数) #include <stdio.h> #include <stdarg.h> void myprintf(const char ...