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>,在 ...
随机推荐
- java 命名代码检查-注解处理器
命名代码检查 根据 <Java 语言规范( 第 3 版 ) > 中第6.8节的要求, Java 程序命名应当符合下列格式的书写规范: 类 ( 或接口 ) : 符合驼式命名法, 首字母大写. ...
- NYOJ-102 次方求模 AC 分类: NYOJ 2014-02-06 18:53 184人阅读 评论(0) 收藏
地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=102 //a^b mod c=(a mod c)^b mod c很容易设计出一个基于二分的递归 ...
- if in hlsl
seems that in HLSL_4, we can use if https://msdn.microsoft.com/en-us/library/bb313972(v=xnagamestudi ...
- windows 7 下快速搭建php环境 windows7+IIS7+php
1. 安装IIS v7.0 控制面板-程序和功能-打开或关闭Windows 功能 测试是否成功安装IIS v7.0,在浏览器输入:http://localhost/ 或者http://12 ...
- SQL注入测试用例
//看看是什么权限的and 1=(Select IS_MEMBER('db_owner'))And char(124)%2BCast(IS_MEMBER('db_owner') as varchar( ...
- json 处理
//String sssssString = "{"response":{"data":[{"address":"南京市 ...
- Sqli-labs less 62
此处union和报错注入都已经失效了,那我们就要使用延时注入了,此处给出一个示例 payload: http://127.0.0.1/sqli-labs/Less-62/?id=1%27)and%20 ...
- POJ 1470 Closest Common Ancestors (最近公共祖先LCA 的离线算法Tarjan)
Tarjan算法的详细介绍,请戳: http://www.cnblogs.com/chenxiwenruo/p/3529533.html #include <iostream> #incl ...
- YAPF:Google开源的Python代码格式化工具
点这里 现在的大多数 Python 代码格式化工具(比如:autopep8 和 pep8ify)是可以移除代码中的 lint 错误.这显然有些局限性.比如:遵循 PEP 8 指导的代码可能就不会被格式 ...
- POJ 2141
#include<iostream> #include<stdio.h> using namespace std; int main() { //freopen("1 ...