arcgis javascript dojo
一、为什么说ArcGIS API for JavaScript是构建于Dojo之上的?
1. 编写ArcGIS API for JavaScript的ESRI开发者使用Dojo来简化他们的开发过程,同时确保所开发的应用程序在不同的浏览器中表现一致。
2. 在JavaScript API实现的地图窗口中的缩放杆便是Dojo微件(dijits)。
二、使用ArcGIS API for JavaScript开发时,需要对Dojo知道多少?
对Dojo了解的深度取决于你的需要,但是以下这些是你必须了解的:
dojo.require:类似于HTML页面的<script>包含标签,实现在页面中引用相关资源。如:
- dojo.require("esri.map");
常用的资源如下表
| 资源 | 用途 |
|---|---|
| esri.map | Map, geometry, graphics, and symbols |
| esri.layers.agsdynamic | ArcGISDynamicMapServiceLayer |
| esri.layers.agstiled | ArcGISTiledMapServiceLayer |
| esri.tasks.find | Find Task |
| esri.tasks.geometry | Geometry task |
| esri.tasks.gp | Geoprocessing task |
| esri.tasks.identify | Identify task |
| esri.tasks.locator | Locator task |
| esri.tasks.query | Query task |
| esri.toolbars.draw | Draw |
| esri.toolbars.navigation | Navigation |
- dojo.ready (或 dojo.addOnLoad):类似于<body onload="">,用于页面加载完成后注册初始块。
- dojo.ready(init);
- dojo.connect: 类似于Element.addEventListener 和Element.attachEvent,用于注册监听器以监听页面上对象或元素的某个事件,返回执行结果。
- dojo.connect(myMap, "onLoad", myLoadHandler);
- dojo.byId: 类似于document.getElementById(id) ,用于搜索与返回页面上参数ID对应的第一个HTML元素。
- dojo.byId("myInputField").value = myMap.id;
- dojo array extras:参考Arrays Made Easy tutorial on dojotoolkit.org
当你编写ArcGIS JavaScript应用程序时,你可以充分使用Dojo工具箱,包括Button、Grid、TreeView、Chart等微件。这些工具归纳为三类:
- Core-基础核心控件
- Dijit -如Tree、Menu、Button等主题微件
- DojoX-开发不同阶段使用的扩展项目,如 Graphic, Grid, and Chart
如前所述,在开始开发时,你仅需要少量的Dojo知识,但是对此你了解的越多,将越有利于你编程。具体可参考Dojotoolkit.org's的向导与文档。
arcgis javascript dojo的更多相关文章
- 使用ArcGIS JavaScript API 3.18 加载天地图
对于中国开发者在创建GIS应用的时候,往往比较头疼的是底图资源的缺乏.其实国家测绘地信局就提供一个很好的免费资源:天地图.使用ArcGIS API的开发人员可以直接利用该资源作为地图应用的底图. Ar ...
- 如何正确响应ArcGIS JavaScript API中图形的鼠标事件
在使用ArcGIS JavaScript API编写程序的时候,程序员往往需要完成这样一个功能:点击地图上的图形,自动进行专题GIS数据查询,当在地图非图形区域上点击时,自动进行底图兴趣点查询. 由于 ...
- FK JavaScript之:ArcGIS JavaScript API之地图动画
地图要素动画应用场景:动态显示地图上的要素的属性随着时间的改变而改变,并根据其属性的变化设置其渲染.比如:某水域项目中,随着时间的变化,动态展现水域的清淤进度 本文目的:对ArcGIS JavaScr ...
- FK JavaScript:ArcGIS JavaScript类库加载不成功而导致的程序异常
现象:页面加载时,有时候成功,有时候出错,出错的地方为init.js 加载esri的类库 经过仔细对比,发现出错时dojo加载的类库中,对象的很多属性都为undefined,而加载成功时,该对象的相关 ...
- 诅咒JavaScript之----ArcGIS JavaScript 点聚合 ClusterLayer
对一个之前一直做winForm的 菜鸟来说,突然接触这么神奇的语言,基本上每天都会诅咒一下这门神奇的语言. 最近做了一个小网站,底图用的是天地图的服务,用ArcGIS JavaScript提供的一些G ...
- 理解ArcGIS Javascript Viewer Widget及编程模型
一个ArcGIS Javascript Viewer for JavaScript Widget是一组可以共享.迁移及部署到JavaScript View程序中的的文本文件.通常,一个程序员如果要开发 ...
- ArcGIS JavaScript API本地部署离线开发环境[转]
原文地址:http://www.cnblogs.com/brawei/archive/2012/12/28/2837660.html 1 获取ArcGIS JavaScript API API的下载地 ...
- Ionic集成ArcGIS JavaScript API.md
1. Ionic同原生ArcGIS JavaScript API结合 1.1. 安装esri-loader 在工程目录下命令行安装: npm install angular2-esri-loader ...
- ArcGIS JavaScript API4.8 底图选择的几种方案
创建一个HTML页面,引入ArcGIS JavaScript API,在<body>标签内创建一个div并添加ID值,在<head>标签内设置样式<style>,在 ...
随机推荐
- HDU 5294 Tricks Device 最短路+最大流
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5294 题意: 给你个无向图: 1.求最少删除几条边就能破坏节点1到节点n的最短路径, 2.最多能删除 ...
- java加载机制整理
本文是根据李刚的<疯狂讲义>作的笔记,程序有的地方做了修改,特别是路径,一直在混淆,浪费了好多时间!!希望懂的同学能够指导本人,感激尽............ 1.jvm 和 类的关系 当 ...
- zoj 2760 How Many Shortest Path 最大流
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1760 Given a weighted directed graph ...
- WPF编程学习——布局
本文目录 1.布局简介 2.面板(Panel) 3.视图框(Viewbox) 4.滚动视图控件(ScrollViewer) 5.公共布局属性 1.布局简介 应用程序界面设计中,合理的元素布局至关重要, ...
- HTTP message vs SOAP message
HTTP Message / SOAP Message HTTP Message ===>包括Request, Response.我们主要关注的是 HTTP Message,这样子包含的范围会更 ...
- ibatis的iterate使用
Iterate:这属性遍历整个集合,并为 List 集合中的元素重复元素体的内容. Iterate 的属性: prepend - 可被覆盖的 SQL 语句组成部分,添加在语句的前面(可选 ...
- Unity3D 将 Unity 嵌入WPF中的一些研究笔记
一. 在 WPF 中使用 WebBrowser,直接打开 WebPlayer.html 以这种方式有一个问题是. 无法在 WebBrowser 的上面 放置其它的控件, 在运行时,都不会显示 . 以 ...
- jboss 占用cpu 100%
通过Java thread dump分析找到耗费CPU最高的源代码 分类: 9. Java2010-04-11 23:06 9272人阅读 评论(4) 收藏 举报 threadjavaeclipse插 ...
- POJ 1503 Integer Inquiry(大数相加,java)
题目 我要开始练习一些java的简单编程了^v^ import java.io.*; import java.util.*; import java.math.*; public class Main ...
- SQL技术内幕-6 rank()over(order by XX COLLATE) 的用法
DECLARE @Names TABLE ( name VARCHAR(20) ); INSERT INTO @Names VALUES ('DeSzmetch'),('DESZMETCH'),('D ...