1、esri/map

map类是每个地图控件中必须引入的类,我们可以通过Map()对地图进行许多的操作,比如修改地图的坐标系、显示级别和初始显示范围等等。

  Map有一个类型为GraphicsLayer的graphics属性。在没有创建新的GraphicsLayer的情况下我所画的graphic都是放在Map的graphics里面。由于map通常都是一个全局变量,因此我们能够在随时的获取到在Map里面的graphic(例如:map.graphics.graphics[0])。

2、esri/graphic

简单的讲,graphic的作用就是在地图上画东西,可以是通过esri/toolbar/draw类在地图上画图形,也可以获取后台的经纬度来画。要了解的是Graphic = geometry(必须) + symbol(必须) + infoTemplate(可有可无) + attributes(里面放着graphic的属性)。在获取到客户的地图数据之后(获取到经纬度)我们就可以在地图上画出所要显示的样式。

3、esri/layers/GraphicsLayer

  GraphicsLayer意思就是有多个Graphic组成的图层。由于不能给esri/graphic设置事件监听,在需要对graphic进行事件监听的时候我们可以新建一个GraphicsLayer把需要监听的graphic放在里面。

4、esri/layers/ArcGISTiledMapServiceLayer

  用来加载切片地图,无法加载动态地图(即未切片过的地图,加载速度快)。

5、esri/layers/ArcGISDynamicMapServiceLayer

  用来加载动态地图的接口,也可以加载切片地图(缺点:地图加载很慢)。

6、esri/dijit/InfoWindow

  由于监听InfoTemplate的鼠标事件,比如当要实现鼠标移动到某一个graphic时出现对应的一个提示框,这个时候我们就无法用InfoTemplate来实现这个需求,因为InfoTemplate只能是点击graphic的时候才会显示。这个时候我们就可以用上InfoWindow了。

例:

map.infoWindow.setTitle(title);

  map.infoWindow.setContent(content);

  map.infoWindow.show(evt.screenPoint, this.map.getInfoWindowAnchor(evt.screenPoint));

7、esri/tasks/BufferParameters

Buffer就是在地图上建立缓冲区的意思,这个缓冲区其实就是一个geometry。因此,我们经常会把它和Query拿来一起用,我们的空间查询功能便是这个原理,先人为的创建一个缓冲区,然后在这个缓冲区中Query出我们需要得到的图层。这里要注意的是BufferParameters的坐标系要用球面坐标系,不然会报错(例:params.bufferSpatialReference = new SpatialReference({wkid: 102113});)。

8、esri/tasks/RouteTask、esri/tasks/RouteParameters

  RouteTask是载入网络分析服务(路径分析)的一个接口。esri/tasks/RouteParameters是Route是属性接口,这里需要主要的是routeParams.outSpatialReference要等于map的坐标系,不然生成的路线无法在地图上正常显示。

9、esri/tasks/QueryTask、esri/tasks/Query

QueryTask、Query的关系和RouteTask与RouteParaMeters的关系蛮像的。QueryTask需要加载我们需要Query(查询)的图层的url,而Query里面放着各种属性。Query的基本原理就是在一个已知的geometry中查询我们需要查询的图层。

对一些ArcGIS for JS的API的一些理解的更多相关文章

  1. Arcgis for js开发之直线、圆、箭头、多边形、集结地等绘制方法

    p{ text-align:center; } blockquote > p > span{ text-align:center; font-size: 18px; color: #ff0 ...

  2. ArcGIS for JS 离线部署

    本文以arcgis_js_v36_api为例,且安装的是IIS Web服务器 1.下载最新的ArcGIS for JS api 包,可在Esri中国社区或者Esri官网下载 2.下载后解压 3.将解压 ...

  3. Arcgis for Js之加载wms服务

    概述:本节讲述Arcgis for Js加载ArcgisServer和GeoServer发布的wms服务. 1.定义resourceInfo var resourceInfo = { extent: ...

  4. lzugis——Arcgis Server for JavaScript API之自己定义InfoWindow

    用过Arcgis Server for JavaScript API肯定知道InfoWIndow.你在用InfoWindow的时候会发现各种问题,比如不能全然显示的问题,遮盖对象的问题等等.所以呢我在 ...

  5. (转) Arcgis for js加载百度地图

    http://blog.csdn.net/gisshixisheng/article/details/44853709 概述: 在前面的文章里提到了Arcgis for js加载天地图,在本节,继续讲 ...

  6. Arcgis for js加载百度地图

    看转:https://blog.csdn.net/qq_41046162/article/details/80248281 通过学习了一段时间的arcgis for js,让我来讲一下如何在arcgi ...

  7. 原生JS实战:写了个一边玩游戏,一边记JS的API的游戏

    本文是苏福的原创文章,转载请注明出处:苏福CNblog:http://www.cnblogs.com/susufufu/p/5878913.html 本程序[一边玩游戏,一边记JS的API]是本人的个 ...

  8. [转载]fullPage.js中文api 配置参数~

    fullPage.js中文api 配置参数 选项 类型 默认值 说明 verticalCentered 字符串 true 内容是否垂直居中 resize 布尔值 false 字体是否随着窗口缩放而缩放 ...

  9. Arcgis for JS之Cluster聚类分析的实现(基于区域范围的)

    原文:Arcgis for JS之Cluster聚类分析的实现(基于区域范围的) 咱们书接上文,在上文,实现了基于距离的空间聚类的算法实现,在本文,将继续介绍空间聚类之基于区域范围的实现方式,好了,闲 ...

随机推荐

  1. PigGo+Github图床,编写本地markdown

    平时用markdown做笔记比较多,比较正式完整一点的笔记会用CmdMarkdown,编写过程贴图比较方便,但是有时候需要做本地的笔记,会用typora,typora虽然好用,但是贴图比较麻烦,这里可 ...

  2. C# TCPClient简单示例

    示例使用方法参考 示例 以下一个简单的异步事件TCP客户端实现 using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; usi ...

  3. 在国内运行Flutter配置的正确姿势--如出现Oops; flutter has exited unexpectedly.

    如果根据flutter的官网教程,在运行flutter doctor时无法下载依赖,请根据以下步骤 export PUB_HOSTED_URL=https://pub.flutter-io.cn ex ...

  4. java.lang.Exception: The server rejected the connection: None of the protocols were accepted

    solution for this is from comment for https://issues.jenkins-ci.org/browse/JENKINS-29616. The follow ...

  5. Mac下包管理平台homebrew的使用

    一.安装 参考:http://www.cnblogs.com/EasonJim/p/6287098.html 二.使用 假设我要安装node,命令如下: 安装软件 brew install node ...

  6. iterm自动登录ssh脚本

    经常在工作中需要切换到不同的服务器去部署,或者查看日志,每次登录都要去找对应的IP和地址,非常麻烦,最终决定使用iterm2+脚本来实现自动登录. 1.iterm2(下载安装不再介绍http://ww ...

  7. javascript绑定事件addEventListener与attachEvent

    1.eleObj.addEventListener(eventName,handle,useCapture); eleObj:DOM元素: eventName:事件名称.注意,这里的事件名称没有“ o ...

  8. preg_match 与 preg_match_all

    案例一: <?php $str = 'abcdef123456'; preg_match('/[a-z1-9]+/', $str, $res); var_dump($res); preg_mat ...

  9. Git的常用撤销技巧与解决冲突方法

    git checkout . #本地所有修改的.没有的提交的,都返回到原来的状态 git stash #把所有没有提交的修改暂存到stash里面.可用git stash pop回复. git rese ...

  10. FocusBI:MDX检索多维模型

    微信公众号:FocusBI关注可了解更多的商业智能.数据仓库.数据库开发.爬虫知识及沪深股市数据推送.问题或建议,请关注公众号发送消息留言;如果你觉得FocusBI对你有帮助,欢迎转发朋友圈或在文章末 ...