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. 响应式Web设计-一种优雅的掌上展现

    入门 flat - style (too many ad.) writeshell

  2. [转] CDH6 安装文章链接收集

    CentOS 7下Cloudera Manager及CDH 6.0.1安装过程详解 http://blog.51cto.com/wzlinux/2321433?source=dra Cloudera ...

  3. 编写一个算法,将非负的十进制整数转换为其他进制的数输出,10及其以上的数字从‘A’开始的字母表示

    编写一个算法,将非负的十进制整数转换为其他进制的数输出,10及其以上的数字从‘A’开始的字母表示. 要求: 1) 采用顺序栈实现算法: 2)从键盘输入一个十进制的数,输出相应的八进制数和十六进制数. ...

  4. mono for android读书笔记之真机调试(转)

    调试环境: 1.软件:monodevelop v3.0.3.5 2.硬件:华为C8650s手机一部,数据线一根,thinkpad e420笔记本电脑一台 调试的应用程序有一个Activity,Acti ...

  5. redis 持久化之 rdb 快照持久化

    解释1: 虽然redis是单进程,但是它有一个单独的子进程进行rdb操作,为了保证的数据的一致性,当进行rdb操作失败的时候,主进程就停止写入 所以才有了stop-write-on-bgsave-er ...

  6. 之前为dd写的一个小的demo(robotium)

    测试类的编写: package com.m1905.dd.mobile; import com.robotium.solo.By; import com.robotium.solo.Solo; imp ...

  7. Git学习系列之Git基本操作提交项目(图文详解)

    前面博客 Git学习系列之Git基本操作克隆项目(图文详解) 然后可以 cd 切换到 LispGentleIntro 目录, 新增或者修改某些文件.这里只是模拟一下操作, 实际情况可能是 使用 Ecl ...

  8. Callable和Future详解

    Java程序员必须掌握的线程知识-Callable和Future Callable和Future出现的原因 创建线程的两种方式:继承Thread类和实现Runnable接口 这两种方式都有一种缺陷,执 ...

  9. java String 提供的方法

    String类的判断功能: * boolean equals(Object obj):比较字符串的内容是否相同,区分大小写 * boolean equalsIgnoreCase(String str) ...

  10. Go RabbitMQ(三)发布订阅模式

    RabbitMQ 在上一节中我们创建了工作队列,并且假设每一个任务都能够准确的到达对应的worker.在本节中我们将介绍如何将一个消息传递到多个消费者,这也就是所说的发布订阅模式 为了验证该模式我们使 ...