项目中有一页是显示全国地图, echarts官网的地图实例里,有一个模拟迁徙的实例,比较符合项目需求.所以大部分配置项是参考此实例.

angular 就不过多介绍了, Google出品的mvc(或者说mvvm)框架. 双向数据绑定,指令等特性很好用.

echarts 是百度的开源图表插件, 功能丰富,展示形式多样.

首先定义一个directive

.directive('echartsMap', ['$timeout', function ($timeout) {
return {
restrict: 'EA',
replace: true,
scope: {
option: '=echartsOption' //这里的作用是数据绑定
},
template: '<div style="height:700px;"></div>', // 自定义图表宽高
link: function (scope, element, attrs, ctrl) {
       // 以下是echarts 初始化方法, 官网有
require.config({
paths: {
echarts: 'js/lib/echarts'
},
packages: [
{
name: 'BMap',
location: 'js/lib/echarts/src',
main: 'main'
}
]
}); require(
[
'echarts',
'BMap',
'echarts/chart/map'
],
function(echarts, BMapExtension) { $timeout(function () {       // 这里用一个$timeout 0, 是等 dom 加载完毕 

              var BMapExt = new BMapExtension(element[0], BMap, echarts, require('zrender'));  // 这里的elemet[0] 就是这个指令本身,或者指令所在标签

              var map = BMapExt.getMap();
              var container = BMapExt.getEchartsContainer();


              var startPoint = { //初始化坐标
                x: 104.114129,  
                y: 37.550339
              };


              var point = new BMap.Point(startPoint.x, startPoint.y);
              map.centerAndZoom(point, 5);
              map.enableScrollWheelZoom(true);

              var myChart = BMapExt.initECharts(container); // echarts实例
              window.onresize = myChart.onresize;
              BMapExt.setOption(scope.option, true);

                    }, 0);

                });

        }
};
}])

view 里

<echarts-map echarts-option="ecOption"></echarts-map>

controller 里

$scope.ecOption = {
//这里写 echarts 的options 就可以了
};

这样,最基本的地图就可以显示出来了.

.

AngularJS 项目里使用echarts 2.0 实现地图功能的更多相关文章

  1. 使用Yeoman快速启动AngularJS项目开发

    本博客停止更新,请访问新个人博客:owenchen.net 前言 博客迁移到了BAE上,http://owenchen.net/,以后的文章会首发在自己的博客上,随后在博客园发布. 很久没有写文章了, ...

  2. 使用Spring Boot和Gradle创建AngularJS项目

    Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的 ...

  3. Nodejs开源项目里怎么样写测试、CI和代码测试覆盖率

    测试 目前主流的就bdd和tdd,自己查一下差异 推荐 mocha和tape 另外Jasmine也挺有名,angularjs用它,不过挺麻烦的,还有一个选择是qunit,最初是为jquery测试写的, ...

  4. 在Android Studio和Android Eclipse 更改现有项目里的SDK版本

    一,在Eclipse下改项目里的SDK的版本方法有几种,都比较简单:1.右键单击项目--->properties---->Resource----->Android在Project ...

  5. [Cordova] 无法编译Visual Studio项目里Plugin副本的Native Code

    [Cordova] 无法编译Visual Studio项目里Plugin副本的Native Code 问题情景 开发Cordova Plugin的时候,开发的流程应该是: 建立Cordova Plug ...

  6. 关于Web项目里的给表单验证控件添加结束时间不得小于开始时间的验证方法,日期转换和前台显示格式之间,还有JSON取日期数据格式转换成标准日期格式的问题

    项目里有些不同页面间的日期显示格式是不同的, 第一个问题: 比如我用日期控件WdatePicker.js导包后只需在input标签里加上onClick="WdatePicker()" ...

  7. ios 项目里常用的宏

    NSLog(@"__func__ :  %s", __func__);//oc测试环境,打印文件名,方法名 NSLog(@"__FUNCTION__ : %s" ...

  8. angularJs项目实战!03:angularjs与其他类库的协作(转)

    angularjs,在我看来是个中等重量级的框架.即不像backbone那么简单,也不像dojo和Yui那么包罗万象.很多时候,妄图包罗万象,往往会出现很多子模块的质量高不成低不就,并且修改起来较为困 ...

  9. angularJs项目实战!02:前端的页面分解与组装

    自从上一篇文章到现在已经有将近一个月的时间,我将精力放在了前端页面分解与组装,和angularjs如何与jquery.bootstrap.D3等一系列其他类库结合使用的经验总结上.由于公司新招了一些员 ...

随机推荐

  1. wireshark找不到网卡

    在Capture Opinions中的interface若找不到网卡,一般是npf服务没有启动. npf是什么东东 Netgroup Packet Filter 网络数据包过滤器 NPF Device ...

  2. 使用顽灯浏览器执行H5游戏辅助挂机

    前一篇<使用Fidder从安卓模拟器获取APP内H5游戏网址>我们获取到了APP内H5游戏的网址,那么接下来我们使用辅助工具做一些日常任务,如:每天晚上20点做副本,定时喊话,自动清理包裹 ...

  3. sql注入语句整理

    1.判断有无注入点; and 1=1 and 1=2 2.猜表一般的表的名称无非是admin adminuser user pass password 等..and 0<>(select ...

  4. 微软职位内部推荐-Software Engineer II-Search

    微软近期Open的职位: Do you want to work on a fast-cycle, high visibility, hardcore search team with ambitio ...

  5. Apache访问验证方式

    Require all granted 允许所有请求访问资源 Require all denied 拒绝所有请求访问资源 Require env env-var [env-var] ... 当指定环境 ...

  6. PAT甲题题解-1048. Find Coins (25)-水

    给n,m以及n个硬币 问,是否存在两个硬币面值v1+v2=m 因为面值不会超过500,所以实际上最多500个不同的硬币而已 #include <iostream> #include < ...

  7. LINUX内核分析第二周学习总结——操作系统是如何工作的

    LINUX内核分析第二周学习总结——操作系统是如何工作的 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/course ...

  8. YQCB冲刺第二周第五天

    今天的任务为实现由用户设置每月初始额度的功能. 昨天的任务为实现精准查账的功能. 遇到的问题为界面的布局以及精准查账按什么标准查找,最后决定按分类查账与时间查账相结合. 站立会议 任务面板

  9. Daily Scrum - 12/02

    Meeting Minutes Shuo终于把文件存取弄好了!Wei大致把后端的代码整合好了,现在是可以基本实现算法的一个简易背单词版本.另外我们又交流了一下UI方面的事情,发现还是有一些问题(特别是 ...

  10. nil Nil NULL NSNull 之间的区别

    nil -> Null-pointer to objective- c objectNIL -> Null-pointer to objective- c class  表示对类进行赋空值 ...