一、为什么说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. SQL通用查询

    获取日期截取 ), ) --不要时间2002-1-1 ),) ----20020101 ),) ---06:05:05

  2. 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5

    // test20.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> #include< ...

  3. 【HDOJ】【3530】Subsequence

    DP/单调队列优化 题解:http://www.cnblogs.com/yymore/archive/2011/06/22/2087553.html 引用: 首先我们要明确几件事情 1.假设我们现在知 ...

  4. Orchard 候补神器说明

    Orchard学习视频已登录百度传课: http://www.chuanke.com/3027295-124882.html 获取Orchard候补神器请加qq群432158140  ! 候补神器是一 ...

  5. max_flow(Ford-Fulkerson) 分类: ACM TYPE 2014-09-02 01:50 110人阅读 评论(0) 收藏

    #include <cstdio> #include <iostream> #include <cstring> #include<queue> usi ...

  6. Maven安装和配置,eclipse创建Maven项目

    提示:使用Maven需要先安装jdk. 下载安装Maven 一.下载最新版的Maven,下载地址:http://maven.apache.org/download.cgi 二.将Maven下载到E:\ ...

  7. PE文件结构详解

    (注:最左边是文件头的偏移量.) IMAGE_DOS_HEADER STRUCT { +0h WORD e_magic // Magic DOS signature MZ(4Dh 5Ah) DOS可执 ...

  8. 扫描二维码跳转app

    1.判断是否安装了app <html> <head> <meta name="viewport" content="width=device ...

  9. Codeforces Round #247 (Div. 2) C题

    赛后想了想,然后就过了.. 赛后....... 我真的很弱啊!想那么多干嘛? 明明知道这题的原型就是求求排列数,这不就是 (F[N]-B[N]+100000007)%100000007: F[N]是1 ...

  10. C/C++中内存区域划分大总结

    C++作为一款C语言的升级版本,具有非常强大的功能.它不但能够支持各种程序设计风格,而且还具有C语言的所有功能.我们在这里为大家介绍的是其中一个比较重要的内容,C和C++内存区域的划分. 一. 在c中 ...