ArcGIS API For JavaScript官方文档之Dojo——Work with Dojo
Working with Dojo
Dojo是一个开放源代码工具包,它帮助您编写健壮高效的JavaScript代码。JavaScript是一种在Web浏览器中运行的语言,并且有各种各样的Web浏览器可以用不同的方式来解释JavaSript。诸如Dojo、jQuery、YUI、Prototype和其他许多工具包都设计用来抽象浏览器特性,这样您就不必再代码中学习它们并处理它们。
使用javascript来编码完成相同的事情通常有几种方法。像dojo这样的工具包提供了您可以使用的函数来实现更简单或更高效的方法。使用工具包中的库可以减少编写代码的行,使javascript应用程序更加快捷和更稳定。
1、ArcGIS API for JavaScript是基于dojo之上的,意味着什么?
创建ArcGIS API for JavaScript的开发人员使用dojo简化了它们的开发过程,并确保您构建的应用程序在不同浏览器中表现相同。例如,map zoom和panning animations使用dojo,graphics layer也是如此。
此外,您在javascript API maps中看到的zoom level slider和info window是Dojo widgets(Dijits)。slider Dijit由Dojo提供,而info window是由Esri创建的自定义dijit。
2、为了使用ArcGIS API for JavaScript,我需要知道多少dojo的内容?
当您使用ArcGIS API for JavaScript时使用的Dojo内容数量取决于您,但是您至少需要使用几个常用函数:
dojo.require
dojo.require类似于HTML页面中的<script>标签,它将资源导入到您的JavaScript页面
// AMD
require(["esri/map", ... ], function(Map, ... ){ ... });
// legacy
dojo.require("esri.map");
dojo.ready
dojo.ready(或者dojo.addOnLoad)类似于<body onload=””>。它在页面完成加载之后注册一个初始化块
// AMD
require(["dojo/ready"], function(ready){
ready(function(){
// This function won't run until the DOM has loaded and other modules that register have run.
});
});
// legacy
dojo.ready(init);
dojo.connect
dojo.connect类似于JavaScript中的Element.addEventListener()函数和Element.attachEvent函数。它注册监听器侦听页面上对象或元素上的特定事件,并返回函数中的结果。
// AMD
require(["esri/map", "dojo/on"], function(Map, on) {
// ...
on(myMap, "load", callback);
});
// legacy
dojo.connect(myMap, "onLoad", myLoadHandler);
dojo.byId
dojo.byId类似于JavaScript中的document.getElementById()函数,函数搜索并返回具有该参数id的第一个html元素。
dojo.byId("myInputField").value = myMap.id;
2、利用完整的Dojo工具包
在编写你应用程序时,您可以利用完整的dojo工具包,其中包括buttons、grids、tree views、charts和其他widgets。该工具包分为三个部分:
- Core——基本函数,如上面列出的函数
- Dijit——小部件,如trees、menus和buttons
- DojoX——在不同的开发阶段的扩展项目,如graphics,grids和charts
正如前面所说,您可以开始构建基于最少的Dojo知识的ArcGIS API for JavaScript的应用程序。但是,你知道的Dojo越多,你就能完成得越多。Dojotoolkit.org的tutorials和documentation是一个很棒的开始。
转载自:https://blog.csdn.net/qq_35732147/article/details/79949671