【前言】

有好些网友问我怎么使用Server发布的地图服务了,其实非常的简单。

我在这里先声明:不提供Server软件,需要的请自行使用互联网搜索资源;

不阐述Server如何发布各各种服务,但是我会给出官方的文档(点我),发布服务其实各种老教程都很多了。


【软件准备】

·Windows 64位以上的系统,XP可以歇菜了,Server是64位原生软件;//Linux发行版也可以,能用Server就行

·ArcGIS for Server 10.x版本

·ArcGIS for Desktop(用于发布服务)

如果有自己的服务器,可以在服务器端安装ArcServer,但是ArcServer对服务器的性能、带宽和存储有要求,请自行参考官方文档。

当然也可以在本地安装Server,用本机构建B/S架构。

ArcGIS桌面软件用于发布服务,数据自己准备。

一枚浏览器,推荐WebKit内核的Chrome、火狐等。

一个能写Web前端的编辑器,本人使用VSCode.

其中后两个必须,前三个非必需,只要得到下文提到的REST URL就可以进行AJS编程。


好,上课。

话说有一阵子没写博客了,忙啊,看学校,复习,各种乱七八糟的事情,AJS的笔记也没跟上,卡在一个空间查询的例子上了。

一般安装好ArcGIS for Server后,进入管理页面就有一个示例服务:

点击紫色框框的a标签,进入这个服务的具体信息的功能页

找到REST URL,复制下来。

现在使用AJS 4.3来构建一个最基本的SceneView网页,代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no">
<title>FeatureLayer - 4.3</title> <link rel="stylesheet" href="https://js.arcgis.com/4.3/esri/css/main.css">
<script src="https://js.arcgis.com/4.3/"></script> <style>
html,
body,
#viewDiv {
padding: 0;
margin: 0;
height: 100%;
width: 100%;
}
</style> <script>
require([
"esri/Map",
"esri/views/SceneView",
"esri/layers/FeatureLayer",
"dojo/domReady!"
],
function(
Map, SceneView,
FeatureLayer
) {
var map = new Map({
basemap: "hybrid"
});
var view = new SceneView({
container: "viewDiv",
map: map,
}); var featureLayer = new FeatureLayer({
url: "https://localhost:6443/arcgis/rest/services/SampleWorldCities/MapServer"
});
map.add(featureLayer);
});
</script>
</head> <body>
<div id="viewDiv"></div>
</body> </html>

AJS使用本地【地图服务】

其中最关键的就是:

var featureLayer = new FeatureLayer({
url:"https://localhost:6443/arcgis/rest/services/SampleWorldCities/MapServer"
});

url就是刚刚复制下来的REST URL,REST URL的构成大概是

“https://IP地址:端口/用户信息(用户群组、用户名等)/rest/services/服务名称/服务类型/子项”

或者

“https://域名/后面相同”

运行起来就是:

请注意,直接复制我的的代码是不能跑出来这个效果的,请使用能用的REST URL,AJS 4.X的示例代码中有一些例子的URL可以测试,请自行查找。

那么怎么知道哪些服务对应哪些AJS 类呢?

在Layer中,官方展示页面如下:

点我

我直接列出一些常用的好了:

问题来了,除了MapServer、FeatureServer等服务,还有NAServer很多,哪里能用上呢?

AJS能用上的服务有限,Server本身并不只是单独针对AJS使用的。

在AJS的网络分析示例中,就可以使用NAServer:

var routeTask = new RouteTask({
url: "https://route.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World"
});

还有很多服务能在AJS的例子中找到,由于AJS的笔记还没写完,我日后发现一个就更新一个。

Server的各种服务在AJS4.x中的具体运用

RouteTask(路径分析)

routeTask类的url可以使用NAServer;发布网络分析服务可以查看这里:点我

相关网络分析服务见这里:点我

QueryTask(查询)

QueryTask的url可以使用MapServer、FeatureServer

FindTask(查找)

FindTask可以使用MapServer实例化。

IdentifyTask(识别)

IdentifyTask可以使用MapServer实例化。

Geoprocessor(GP)

Geoprocessor可以使用GPServer实例化,可以根据子项进行不同的分析。在AJS的例子中,使用了可视域分析和热力图分析,GPServer(地理处理服务)的不同子项而已。

关于GPServer的发布与使用,可以查看Server的帮助文档:点我

其实就是ArcMap的各种处理。

PointCloudLayer(点云图层)

点云图层可以为其url属性赋一个SceneServer的URL来实例化。

ClosestFacilityTask(最近设施)

使用NAServer。

GeometryService(几何服务)

使用GeometryServer;如

var geoSer = new GeometryService({url:"https://sampleserver6.arcgisonline.com/arcgis/rest/services/Utilities/Geometry/GeometryServer"});

Locator(定位)

使用GeocodeServer(地理编码服务)。

如:

var locator = new Locator({url:"http://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer"});

ServiceAreaTask(服务区)

使用NAServer。(疑似)

ImageServiceIdentifyTask(影像服务识别)

疑似为MapServer,与IdentifyTask类似。

ArcGIS API for JavaScript 4.3 与ArcGIS Server联动使用【地图服务】的更多相关文章

  1. arcgis api 3.x for js 热力图优化篇-不依赖地图服务(附源码下载)

    前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...

  2. ArcGIS API for JavaScript(2)-ArcGIS Server发布要素图层服务

    1.前言 上一篇该系列的文章我们主要讲了一下基础Web地图搭建,这篇我们主要讲一下ArcGIS Server发布服务,并且如何调用服务.将自己的数据加载到Web地图当中来,实现Web端浏览数据. 2. ...

  3. ArcGIS API for JavaScript开发笔记(一)——ArcGIS for Javascript API 3.14本地部署

    堪称史上最详细的< ArcGIS forJavascript API 3.14本地部署>文档,有图有真相~~~ ---------环境:Windows server 2012R2,IIS ...

  4. ArcGIS api for javascript——合并两个ArcGIS Online服务

    描述 这个示例创建一个地图并ArcGIS Online增加连个图层到地图.ArcGIS Online是由ESRI体提供的一组切片地图服务,可以用来通过高质量的地图和数据增强应用.这个示例增加影像和运输 ...

  5. arcgis api for javascript 学习(二) 发布并调用地图切片

    文章将从发布切片地图到调用切片地图整个过程都展示出来. (一).切片地图的发布 1.还是前面的arcgis展示的地图 2.与发布动态地图前面的步骤是一样的 打开分享后,如图 3.一切就绪后,到达缓存的 ...

  6. arcgis api 3.x for js 入门开发系列二不同地图服务展示(附源码下载)

    前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...

  7. ArcGIS api for javascript——以地理处理结果为条件查询地图

    这里发生什么任务呢?当第一次单击地图,单击的坐标被发送到一个Geoprocessor任务.该任务访问服务器上的通过ArcGIS Server 地理处理服务提供的可用的GIS模型.本例中模型计算驱动时间 ...

  8. ArcGIS api for javascript——显示多个ArcGIS Online服务

    描述 本例展示了如何使用按钮在地图里的两个不同的图层间切换.所有地图里的图层恰巧是来自ArcGIS Online的ArcGISTiledMapServiceLayers.按钮是Dojo dijit按钮 ...

  9. ArcGIS API for JavaScript 4.2学习笔记[2] 显示3D地图

    3D地图又叫场景. 由上一篇可知, require入口函数的第一个参数是字符串数组 ["esri/Map", "esri/views/MapView", &qu ...

随机推荐

  1. 《java.util.concurrent 包源码阅读》20 DelayQueue

    DelayQueue有序存储Delayed类型或者子类型的对象,没当从队列中取走元素时,需要等待延迟耗完才会返回该对象. 所谓Delayed类型,因为需要比较,所以继承了Comparable接口: p ...

  2. kafka原理和实践(二)spring-kafka简单实践

    系列目录 kafka原理和实践(一)原理:10分钟入门 kafka原理和实践(二)spring-kafka简单实践 kafka原理和实践(三)spring-kafka生产者源码 kafka原理和实践( ...

  3. TypeScript入门,使用TypeScript编写第三方控件的方式!

    这是一篇新手篇的typescript插件编写方式!!!! 源码完整地址:https://gitee.com/dissucc/typescriptLearn 1.环境安装 node下载 下载地址:htt ...

  4. 2964:日历问题-poj

    2964:日历问题 总时间限制:  1000ms 内存限制:  65536kB 描述 在我们现在使用的日历中, 闰年被定义为能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它们不是闰 ...

  5. Glance 镜像服务群集

    #Glance 镜像服务群集 openstack pike 部署 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html#4.Glance 镜像服务群集 ##. ...

  6. js 实现div模块的截图并下载功能(可制作长图)

    当需要实现html页面部分模块截图并具有保存图片功能时,前台直接生成截图并下载会方便的多.多的不说,直接看代码首先我们需要引入2个js文件: <script type="text/ja ...

  7. Mecanim动画系统

    序言:Mecanim动画系统是Unity4.0之后退出的新版动画系统,非常适合人类动画系统.本文是作为自己的学习来讲解的, 可能会有些啰嗦,但尽量把自己的坑都为大家列出来,让大家理解透彻. 一.文件的 ...

  8. BFS求最短路 Abbottt's Revenge UVa 816

    本题的题意是输入起点,朝向和终点,求一条最短路径(多解时任意输出一个即可) 本题的主要代码是bfs求解,就是以下代码中的slove的主要部分,通过起点按照路径的长度来寻找最短路径,输出最先到终点的一系 ...

  9. Java数据结构和算法(十)——二叉树

    接下来我们将会介绍另外一种数据结构——树.二叉树是树这种数据结构的一员,后面我们还会介绍红黑树,2-3-4树等数据结构.那么为什么要使用树?它有什么优点? 前面我们介绍数组的数据结构,我们知道对于有序 ...

  10. Qt快速上手(学习笔记四)

    拖了大半年,今天终于有更新了...我自己都不好意思,最近太忙了! 今天讲一下:QML语法 一 概述 QML是一种专门用于构建用户界面的编程语言,它允许用户构建高性能,具有流畅特效的可视化应用程序,QM ...