一、为什么说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>包含标签,实现在页面中引用相关资源。如:

[html] view plaincopy

 
  1. 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="">,用于页面加载完成后注册初始块。

    [html] view plaincopy

     
    1. dojo.ready(init);
  • dojo.connect: 类似于Element.addEventListener 和Element.attachEvent,用于注册监听器以监听页面上对象或元素的某个事件,返回执行结果。
    [html] view plaincopy

     
    1. dojo.connect(myMap, "onLoad", myLoadHandler);
  • dojo.byId: 类似于document.getElementById(id) ,用于搜索与返回页面上参数ID对应的第一个HTML元素。
    [html] view plaincopy

     
    1. 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的更多相关文章

  1. 使用ArcGIS JavaScript API 3.18 加载天地图

    对于中国开发者在创建GIS应用的时候,往往比较头疼的是底图资源的缺乏.其实国家测绘地信局就提供一个很好的免费资源:天地图.使用ArcGIS API的开发人员可以直接利用该资源作为地图应用的底图. Ar ...

  2. 如何正确响应ArcGIS JavaScript API中图形的鼠标事件

    在使用ArcGIS JavaScript API编写程序的时候,程序员往往需要完成这样一个功能:点击地图上的图形,自动进行专题GIS数据查询,当在地图非图形区域上点击时,自动进行底图兴趣点查询. 由于 ...

  3. FK JavaScript之:ArcGIS JavaScript API之地图动画

    地图要素动画应用场景:动态显示地图上的要素的属性随着时间的改变而改变,并根据其属性的变化设置其渲染.比如:某水域项目中,随着时间的变化,动态展现水域的清淤进度 本文目的:对ArcGIS JavaScr ...

  4. FK JavaScript:ArcGIS JavaScript类库加载不成功而导致的程序异常

    现象:页面加载时,有时候成功,有时候出错,出错的地方为init.js 加载esri的类库 经过仔细对比,发现出错时dojo加载的类库中,对象的很多属性都为undefined,而加载成功时,该对象的相关 ...

  5. 诅咒JavaScript之----ArcGIS JavaScript 点聚合 ClusterLayer

    对一个之前一直做winForm的 菜鸟来说,突然接触这么神奇的语言,基本上每天都会诅咒一下这门神奇的语言. 最近做了一个小网站,底图用的是天地图的服务,用ArcGIS JavaScript提供的一些G ...

  6. 理解ArcGIS Javascript Viewer Widget及编程模型

    一个ArcGIS Javascript Viewer for JavaScript Widget是一组可以共享.迁移及部署到JavaScript View程序中的的文本文件.通常,一个程序员如果要开发 ...

  7. ArcGIS JavaScript API本地部署离线开发环境[转]

    原文地址:http://www.cnblogs.com/brawei/archive/2012/12/28/2837660.html 1 获取ArcGIS JavaScript API API的下载地 ...

  8. Ionic集成ArcGIS JavaScript API.md

    1. Ionic同原生ArcGIS JavaScript API结合 1.1. 安装esri-loader 在工程目录下命令行安装: npm install angular2-esri-loader ...

  9. ArcGIS JavaScript API4.8 底图选择的几种方案

    创建一个HTML页面,引入ArcGIS JavaScript API,在<body>标签内创建一个div并添加ID值,在<head>标签内设置样式<style>,在 ...

随机推荐

  1. HDU 5294 Tricks Device 最短路+最大流

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5294 题意: 给你个无向图: 1.求最少删除几条边就能破坏节点1到节点n的最短路径, 2.最多能删除 ...

  2. java加载机制整理

    本文是根据李刚的<疯狂讲义>作的笔记,程序有的地方做了修改,特别是路径,一直在混淆,浪费了好多时间!!希望懂的同学能够指导本人,感激尽............ 1.jvm 和 类的关系 当 ...

  3. zoj 2760 How Many Shortest Path 最大流

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1760 Given a weighted directed graph ...

  4. WPF编程学习——布局

    本文目录 1.布局简介 2.面板(Panel) 3.视图框(Viewbox) 4.滚动视图控件(ScrollViewer) 5.公共布局属性 1.布局简介 应用程序界面设计中,合理的元素布局至关重要, ...

  5. HTTP message vs SOAP message

    HTTP Message / SOAP Message HTTP Message ===>包括Request, Response.我们主要关注的是 HTTP Message,这样子包含的范围会更 ...

  6. ibatis的iterate使用

    Iterate:这属性遍历整个集合,并为 List 集合中的元素重复元素体的内容. Iterate 的属性:       prepend  - 可被覆盖的 SQL 语句组成部分,添加在语句的前面(可选 ...

  7. Unity3D 将 Unity 嵌入WPF中的一些研究笔记

     一. 在 WPF 中使用 WebBrowser,直接打开 WebPlayer.html 以这种方式有一个问题是. 无法在 WebBrowser 的上面 放置其它的控件, 在运行时,都不会显示 . 以 ...

  8. jboss 占用cpu 100%

    通过Java thread dump分析找到耗费CPU最高的源代码 分类: 9. Java2010-04-11 23:06 9272人阅读 评论(4) 收藏 举报 threadjavaeclipse插 ...

  9. POJ 1503 Integer Inquiry(大数相加,java)

    题目 我要开始练习一些java的简单编程了^v^ import java.io.*; import java.util.*; import java.math.*; public class Main ...

  10. SQL技术内幕-6 rank()over(order by XX COLLATE) 的用法

    DECLARE @Names TABLE ( name VARCHAR(20) ); INSERT INTO @Names VALUES ('DeSzmetch'),('DESZMETCH'),('D ...