最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

D3.js创建物流地图实例分享

来源:动视网 责编:小OO 时间:2020-11-27 20:04:36
文档

D3.js创建物流地图实例分享

示例图;制作思路;需要绘制一张中国地图,做为背景。需要主要城市的经纬坐标,以绘制路张起点和终点。接收到物流单的城市,绘制一个闪烁的标记。已经有过物流单的目标城市,不再绘制路线。每次新产生一笔物流单,都有一个标记沿路线移向目标的动画效果。绘制结束后的数据,需要清理掉,以减少对浏览器的资源占用。开始撸码;1.创建网页模板;加载D3JS,为了方便调试,直接下载d3.js文件在本地,实际使用的时候,可以换成加载路径。注意,使用的是V4版的D3,和V3版有差异。创建一个p块,准备绘图。;
推荐度:
导读示例图;制作思路;需要绘制一张中国地图,做为背景。需要主要城市的经纬坐标,以绘制路张起点和终点。接收到物流单的城市,绘制一个闪烁的标记。已经有过物流单的目标城市,不再绘制路线。每次新产生一笔物流单,都有一个标记沿路线移向目标的动画效果。绘制结束后的数据,需要清理掉,以减少对浏览器的资源占用。开始撸码;1.创建网页模板;加载D3JS,为了方便调试,直接下载d3.js文件在本地,实际使用的时候,可以换成加载路径。注意,使用的是V4版的D3,和V3版有差异。创建一个p块,准备绘图。;
 本文主要介绍了使用D3.js创建物流地图的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。

示例图

制作思路

  1. 需要绘制一张中国地图,做为背景。

  2. 需要主要城市的经纬坐标,以绘制路张起点和终点。

  3. 接收到物流单的城市,绘制一个闪烁的标记。

  4. 已经有过物流单的目标城市,不再绘制路线。

  5. 每次新产生一笔物流单,都有一个标记沿路线移向目标的动画效果。

  6. 绘制结束后的数据,需要清理掉,以减少对浏览器的资源占用。

开始撸码

1.创建网页模板

加载D3JS,为了方便调试,直接下载d3.js文件在本地,实际使用的时候,可以换成加载路径。注意,使用的是V4版的D3,和V3版有差异。

创建一个p块,准备绘图。

<!DOCTYPE html>
<html lang="en">
 <head>
 <meta charset="utf8">
 <script type="text/javascript" src="../../static/d3/d3.js"></script>
 <title>地图</title>
 </head>
 <body>
 <p class="fxmap">
 </p>
 </body>
 <script type="text/javascript"></script>
</html>

创建SVG,以下所有代码放在<script></script>中

创建SVG图形分组,以备调用

  1. gmp,保存背景地图和起点标记。

  2. mline,保存起点和目标之间的连线,以及目标点。

  3. buttion,测试用的按钮

创建投影函数

  1. 经纬度不能直接用来绘图,需要转换成平面坐标。d3js提供了比较丰富的投影方法,本例中使用了geoEquirectangular()方法。

  2. projection 是将经纬度转换为平面坐标的方法

  3. path 是将经纬度转换为连线绘制点坐标的方法(省得自己再写函数构造path路径)

创建marker标记,以便多个连线终点调用

  1. 由于会有多个物流连线的终点,所以都放在一个marker标记中调用。

  2. 这个标记是由中间的 圆形 + 外圈 构成。外圈的闪烁效果另外创建。

绘制中国地图,并标记起点(长沙)

地图使用的经纬集为china.json,这个文件网上有很多

创建方法,绘制一条从指定起点到终点的连线,并在络点绘制marker标记。

  1. 方法需要输入终点城市名称(city)和经纬度(data)

  2. 调用之前建立的project()方法,将终点经纬度转换为平面坐标。

  3. 计算起点(长沙)和终点之前的距离,做为线条长度和动画时间参数。

  4. 在线条上绘制一个圆形标记,并实现从起点到终点的移动动画。

  5. 标记移动到终点后,即删除,节省资源。

  6. 如果线点在之前已经绘制过,则不绘线条,只绘制移动标记。

  7. 每处理一次物流单,则城市记录+1。

创建动画队例,实现标记外圈的闪烁效果

创建测试按钮和测试的目标城市数据

文档

D3.js创建物流地图实例分享

示例图;制作思路;需要绘制一张中国地图,做为背景。需要主要城市的经纬坐标,以绘制路张起点和终点。接收到物流单的城市,绘制一个闪烁的标记。已经有过物流单的目标城市,不再绘制路线。每次新产生一笔物流单,都有一个标记沿路线移向目标的动画效果。绘制结束后的数据,需要清理掉,以减少对浏览器的资源占用。开始撸码;1.创建网页模板;加载D3JS,为了方便调试,直接下载d3.js文件在本地,实际使用的时候,可以换成加载路径。注意,使用的是V4版的D3,和V3版有差异。创建一个p块,准备绘图。;
推荐度:
标签: 分享 案例 示例
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top