`
子衿青青
  • 浏览: 110414 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

自己动手做地图:Dojo中的Map控件详解

 
阅读更多

随着Web成为软件系统交付的主流平台,企业级应用前端纷纷落户浏览器,对各种富客户端开发库提出了越来越高的要求,Dojo作为其中的佼佼者,对企业级Web开发提供了强大的支持。

在企业信息系统中,图表是数据分析的最终图形化结果,地位举足轻重,直接影响数据分析的效果好坏。美观实用的图表绝对会给应用系统加分不少!

Dojo控件库里有丰富的图表控件,除了常见的直方图、饼图、折线图等等,也有为更专业的需求而开发的甘特图、散点图、地图等控件。更难能可贵的是Dojo的图表控件支持了动画效果以及众多的UI响应事件。下图是一个包含了dojo中的地图、直方图、饼图和折线图等图表控件的Dashboard示例:

接下来我们以dojo1.5版本中新加入的地图控件(dojox.geo.charting.Map)为例,来认识一下dojo中的图表控件特点(这里默认读者有一定的dojo开发基础,如果没有...也没问题!)


1.简单快捷的创建过程


首先你得下载dojo1.5的开发包 ,然后在html开发页面中引入必要的css文件和dojo.js;


然后新建一张美国地图(dojo中自带的地图就是美国地图)。构造函数接受两个参数:地图div容器以及地图的地理数据。地理数据默认存放在dojox.geo.charting模块下的resources/data目录下;




OK, 一张最简单的地图就生成了,而且支持 高亮, 放大,复位和Tip功能:


点击后高亮显示:

再点击,地图放大;在放大状态下点击的话,地图就会复位:

可以看到Map图表控件的创建过程非常简单,不过到现在为止,Map还没有跟数据进行绑定,所以不能称为严格意义上的图表,下面介绍Map如何展示数据。


2.一目了然的数据展示

比如说,现在的需求是显示A产品在美国各州的销售情况,用深蓝色表示销售情况火爆,用浅蓝色代表销售情况惨淡;

销售数据使用dojo.data.ItemFileReadStore数据格式(关于ItemFileReadStore的介绍可以读读《利用 Dojo Data 开发统一的数据访问模型》)

接下来,就需要为数据设置颜色区间了。我将销售值在6.0到9.0之间设置为销售火爆的地区,用深蓝色表示。佛罗里达州的A产品销售额为7.2,那么佛罗里达州的颜色就是深蓝色;


好了,Map的数据展示功能也介绍完了。别忙,还有更cool的呢,那就是dojo图表中的事件扩展接口!



3.强大丰富的扩展接口

在基于控件库的开发中,开发者经常需要定制化的功能,所以控件必须提供一些扩展接口满足这部分需要。以Map控件为例,开发者希望能够定制Tip的内容,或者在点击地图的时候触发新的事件等等。在Map控件里一共提供了三个扩展接口,参数都是当前地图上取得焦点的地区。

  1. onFeatureOver:在鼠标移到地区上方时触发
  2. onFeatureClick:在鼠标点击地区时触发;
  3. onZoomEnd:在地区完成放大行为时触发;

下面是自定义的提示内容,只要你愿意,你甚至可以在加州的提示内容里添加湖人队的夺冠新闻。

至此,Map控件已经介绍完了,不过dojo图表控件中还有许多优秀的成员等待你去发掘。

另附示例代码:http://download.csdn.net/source/2544819







分享到:
评论

相关推荐

    ajax最好的框架之一:dojo包

    在Dojo 1.1.0版本中,引入了一些新特性,如增强的dojo.xhr模块,改进了模块加载性能,以及对IE6和7的更好支持。这个版本被认为是稳定且功能丰富的,适合用于大型项目。 综上所述,Dojo作为一个全面的JavaScript...

    dojo所有jar包dojoroot

    "dojo所有jar包dojoroot" 提供的是Dojo 库相关的Java档案(JAR)文件,这些文件包含了Dojo的全部功能模块,方便在Java环境中使用。 1. **Dojo Core**:Dojo 的核心库,包括基本的DOM操作、事件处理、Ajax请求等功能...

    dojoMap Demo

    【dojoMap Demo】是一个展示如何在Dojo框架中集成地图数据图表的应用示例。这个Demo是基于Dojo 1.5版本构建的,它演示了如何利用Dojo库中的功能来创建交互式地图和图表,将地理信息与数据可视化相结合。在本篇中,...

    dojo控件的使用和入门心得

    ### Dojo控件的使用和入门心得 #### Dojo简介及其优势 Dojo是一个功能强大的JavaScript框架,...无论是初学者还是有经验的开发者,都能从Dojo中找到适合自己的工具和解决方案,加速项目开发进度,提升产品竞争力。

    图书:Dojo入门

    《Dojo入门》这本书主要介绍了Dojo JavaScript库的使用,帮助初学者快速掌握这个强大的前端开发工具。Dojo是一个开源的JavaScript框架,旨在提供一站式的解决方案,包括UI组件、数据管理、动画效果、Ajax交互等功能...

    DOJO中文手册,非常全面

    #### 三、DOJO技术特点详解 ##### 1. 文件结构 - **版本**:DOJO当前最高版本为0.3.1,由一个核心代码文件Dojo.js和其他众多JavaScript文件组成。 - **模块化**:根据所需功能的不同,DOJO提供多种版本,如AJAX...

    dojo 1.7 最新dojo包,内含最新的实例若干个。

    这个压缩包中的"dojo-release-1.7.1"代表的是Dojo框架的1.7.1版本,这是一个稳定且广泛使用的版本。在这个版本中,Dojo提供了许多关键功能和改进,使得它成为开发者构建复杂前端应用的理想选择。 1. **模块化系统**...

    DOJO详解(包括详细的例子)

    **DOJO详解** DOJO,全称为Dojo Toolkit,是一个强大的JavaScript库,旨在简化Web开发。这个开源工具包提供了一整套解决方案,包括UI组件、数据管理、动画效果、Ajax交互以及模块化开发等,使得开发者能够高效地...

    Dojo3.rarDojo3.rarDojo3.rarDojo3.rar

    【标题】:Dojo3,一个强大的JavaScript框架详解 【描述】:Dojo3是一个功能丰富的JavaScript库,专为构建高性能、跨平台的Web应用程序而设计。它提供了大量的工具、API和模块,帮助开发者实现复杂的功能,如数据...

    DOJO中文手册【出自dojo中国】

    DOJO中文手册是针对JavaScript库Dojo的详细指南,源自中国的本地化版本,旨在帮助开发者理解和使用这个强大的工具包。Dojo是一个开源的DHTML工具集,由nWidgets、Burstlib和f(m)等多个项目的合并发展而来,因此被...

    dojo 官方教程 中文翻译

    6. **dijit组件**:Dojo的dijit模块提供了一系列用户界面组件,如按钮、表单控件、布局容器等,这些组件具有丰富的主题和无障碍性支持。 7. **dojo/parser和声明式编程**:dojo/parser负责解析页面上的声明式标记,...

    DOJO API 中文参考手册

    5. **Dojo Widget系统 (dijit)**: dijit是Dojo的UI组件库,包含了各种可复用的、可配置的Web部件,如按钮、表单控件、对话框等。这些部件是模块化的,且遵循WAI-ARIA无障碍标准,以确保良好的用户体验。 6. **...

    Dojo1.11正式版

    2. **Dijit组件库**:Dijit是Dojo的UI组件库,包含了一系列可复用的、主题化的、无障碍的用户界面控件,如按钮、表单、布局等。在1.11版本中,这些组件进一步优化,提高了性能和用户体验。 3. **Dojo Toolkit核心**...

    dojo 1.9 demo

    Dojo 是一个强大的...通过仔细研究这个"dojo 1.9 demo"中的每个示例,你将能够全面掌握Dojo 1.9的功能,并能将其应用到自己的项目中。无论你是初学者还是有经验的开发者,这份资源都能为你提供宝贵的实践经验。

    学习dojo

    - **数据绑定**:Dojo支持数据模型与视图之间的双向绑定,通过`dijit.form.ValidationTextBox`等控件可以实现数据验证和格式化。 - **国际化与本地化**:Dojo内置了多语言支持,可以通过简单的配置实现应用的国际化...

    dojo精品中文教程(包二)

    DOJO学习笔记(七)-日期控件DropdownDatePicker和DatePicker DOJO常用的验证函数 Dojo with Adobe AIR Dojo 工具包教程 Dojo 快速安装 Dojo和JSON建立无限级AJAX动态加载的功能模块树 Dojo学习笔记( 模块与...

    dojo1.1 javascript框架

    Dojo 1.1 JavaScript 框架是一个强大的前端开发工具集,专为构建富互联网应用程序(RIA)而设计。这个框架在2005年由SitePen公司推出,旨在提供一套完整的JavaScript库,以简化Web开发过程,提高开发效率。Dojo的...

    dojo起步学习的好例子

    在"dojo起步学习的好例子"这个压缩包中,我们很可能会找到一系列针对Dojo库的实例,帮助初学者快速理解和掌握Dojo的使用。 首先,让我们来详细了解Dojo的核心概念: 1. **模块系统 (Dijit and Dojo Toolkit)**:...

    dojo工具包

    Dojo工具包是一款广泛使用的JavaScript库,它提供了一系列强大的功能,用于构建富互联网应用程序(RIA)。这个包源自Dojo Toolkit的官方版本,主要是dojo-release-1.9.2-src,这意味着它包含了源代码,便于开发者...

Global site tag (gtag.js) - Google Analytics