一、为什么说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. Window.document对象(1)

    1.Window.document对象 一.找到元素: docunment.getElementById("id"):根据id找,最多找一个:     var a =docunme ...

  2. bzoj 3142 数学

    找规律后可以之后答案就是 k^(m-1)*(n-(m-1)*k)+(m+(m-1)*k+1)*k^(m-1) div 2 /************************************** ...

  3. 【POJ】【2449】Remmarguts' Date

    K短路/A* 经(luo)典(ti) K短路题目= = K短路学习:http://www.cnblogs.com/Hilda/p/3226692.html 流程: 先把所有边逆向,做一遍dijkstr ...

  4. 【BZOJ】【3171】【TJOI2013】循环格

    网络流/费用流 最后能走回出发点……说明全部是环= = 而二分图上的环说明什么呢……完备匹配 对于每个点,它都有四个可能的匹配点,且已知它已经(伪)匹配的一个点,那么我们于已知每条(伪)匹配边,我们连 ...

  5. swipejs的使用

    <div id='slider' class='swipe'> <div class="swipe-wrap"> <div><img sr ...

  6. HDU1070Milk

     Milk Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u   Description ...

  7. .NET设计模式(10):装饰模式(Decorator Pattern)(转)

    概述 在软件系统中,有时候我们会使用继承来扩展对象的功能,但是由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性:并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多 ...

  8. Java多线程程序设计详细解析

    一.理解多线程 多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立. 线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线 ...

  9. uialertview 改变文字显示位置

    - (void)willPresentAlertView:(UIAlertView *)alertView{ UIView * view = [alertView.subviews objectAtI ...

  10. Sqli-labs less 64

    Less-64 此处的sql语句为 $sql="SELECT * FROM security.users WHERE id=(($id)) LIMIT 0,1"; 示例payloa ...