如何使用 D3 在地图上实现实时画圈的效果
来源:互联网 发布:管理者心态管理知乎 编辑:程序博客网 时间:2024/05/20 18:20
如何使用 D3 在地图上实现实时画圈的效果
标签: D3,map, particle
使用 D3 绘制地图后,空白着的地图没什么吸引力,假设我们绘制了张中国地图,我们将销售中心标示在地图上,然后销售中心每卖出一件商品,就在该销售中心所对应的地图绘制弹出一个圆圈,该圆圈缓慢放大,然后在2秒内淡出。代码应该如何实现呢?
首先,当卖出一件商品时,获取该销售中心的经纬度,然后调用以下函数:
particle([lat, lng]);
该函数的具体定义如下:
var chinaMap = svg.append('g') .attr("id","chinaMap");function particle(point) { var m = projection(point); if(m[0] && m[1]) { chinaMap.insert("circle") .attr("cx", m[0]) .attr("cy", m[1]) .attr("r", 1e-6) .style("stroke-width", '0.04em') //.style("stroke", d3.hsl((i = (i + 20) % 360), 1, .5)) .style("stroke", '#31a354') .style("stroke-opacity", 1) .transition() .duration(2000) .ease(Math.sqrt) .attr("r", 50) .style("fill","none") .style("stroke-width", '0.1em') .style("stroke-opacity", 1e-6) .remove(); }}
projection
函数的定义:
var width = $("#main").width(), height = $("#main").height();var projection = d3.geo.mercator() .center([105,33.5]) .scale(width*0.6) .translate([width/2,height/2]);
0 0
- 如何使用 D3 在地图上实现实时画圈的效果
- 使用手势画圈找到地图上范围内的数据
- D3地图上如何标注坐标点
- D3.js在svg地图上标点
- iOS---实现在屏幕上实时绘图的简单效果---CAShaperLayer和UIBezierPath的简单运用
- 使用D3实现词云效果
- 如何在android上实现IPhone的按钮滑动效果
- 如何在5.0上实现button的Ripple(水波效果)
- 使用D3 Geo模块画澳大利亚地图
- 使用D3 Geo模块画澳大利亚地图
- LaTeX技巧心得28:如何在文中实现带圈的数字和圈中加号
- 如何使用 D3 绘制中国地图/省地图/市地图
- matlab中在图像上划线 画圈的方法
- d3之画地图
- c# winform 应用timer传参数方式实现在谷歌地图上实时位置
- Echarts如何实现在地图上画饼图
- 在地图上画正六边形时出现的问题(d3)
- 实现实时刷新的效果
- 乌邦图中安装和配置vsftp
- Python自然语言处理(一)--利用NLTK自带方法完成NLP基本任务
- 二进制转BCD码
- (效率解读)Spring Framework 六大模块简介
- android ui调试工具
- 如何使用 D3 在地图上实现实时画圈的效果
- spark on yarn部署
- GCC选项 –I,-l,-L
- C++11新特性
- [目标检测]windows下实现c++版faster-rcnn
- C# base 关键字
- 设计模式之代理模式
- linux的部分基础操作
- 梦幻西游手游桌面版启动不了,报错