d3 绘制中国地图城市及城市间的连线
来源:互联网 发布:mysql pid文件丢失 编辑:程序博客网 时间:2024/06/05 04:17
<html> <head> <meta charset="utf-8"> <title>China Map</title> </head> <style> body{ background: black; } #southsea{ stroke:#63B8FF; stroke-width: 1px; } circle{ fill:#00F5FF; fill-opacity: .5; stroke:#fff; stroke-width: .5; } </style> <body> <script src="../../static/d3.v3.min.js"></script> <script> var width = 1500; var height = 800; var svg = d3.select("body").append("svg").attr("width",width).attr("height",height); var projection = d3.geo.mercator().center([105,40]).scale(900).translate([width/2,height/2]); var path = d3.geo.path().projection(projection); var zoom = d3.behavior.zoom().scaleExtent([1,10]).on("zoom",zoomed); function zoomed(){ d3.select(this).attr("transform","translate(" + d3.event.translate + ")scale(" + d3.event.scale + ")"); } china = svg.append('g').call(zoom); d3.json("../../static/china.geojson",function(error,root){ if(error) return console.error(error); var province = china .selectAll("path") .data(root.features) .enter() .append("path") .attr("d",path) .attr("stroke","#63B8FF") .attr("stroke-width",1) .attr("fill","black"); }); d3.xml("../../static/gxd/southchinasea.svg",function(error,xmlDocument){ china.append("g").html(function(d){ return d3.select(this).html() + xmlDocument.getElementsByTagName("g")[0].outerHTML; }); var gSouthSea = d3.select("#southsea"); gSouthSea.attr("transform","translate(1100,600) scale(0.5)").attr("class","southsea"); }); d3.json("/transfer/get_citys",function(error,root){ if(error) return console.error(error); var circle = china .append("g") .selectAll("circle") .data(root) .enter() .append("circle") .attr("r",2) .attr("transform",function(d){ var coor = projection([d[1],d[2]]); return "translate("+coor[0]+","+coor[1]+")"; }); }); //绘制城市之间连线 d3.json("/transfer/get_paths1",function(error,root){ if(error) return console.error(error); var paths = china .append("g") //新建g组合标签 .selectAll("line") //选中所有line标签 .data(root) //数据集为root .enter() //进入循环 .append("line") //每一个循环新增一个line标签 .transition() //延迟绘制 .duration(3000) //延迟绘制 //设置line属性x1,y1,x2,y2 .attr("x1",function(d){ var coor1 = projection([d[1],d[2]]); return coor1[0]; }) .attr("y1",function(d){ var coor1 = projection([d[1],d[2]]); return coor1[1]; }) .attr("x2",function(d){ var coor2 = projection([d[3],d[4]]); return coor2[0]; }) .attr("y2",function(d){ var coor2 = projection([d[3],d[4]]); return coor2[1]; }) .attr("stroke","red") //绘制线红色 .attr("stroke-width",2); //绘制线宽2个像素 }); //END </script> </body></html>
阅读全文
0 0
- d3 绘制中国地图城市及城市间的连线
- d3 在中国地图上绘制城市
- d3 绘制中国地图
- 利用d3.js绘制中国地图
- d3.js——绘制静态中国地图
- d3.js——绘制动态中国地图
- 城市
- 城市
- 城市
- 城市
- 《城市》
- 如何使用 D3 绘制中国地图/省地图/市地图
- 全国所有的省份及城市选择
- 省份及城市的下拉框实现
- Android 绘制中国地图及热点省份分布
- 获取当前城市的城市名
- 地域表的城市代码修改及涉及到的用城市代码关联表的修改
- d3画中国地图
- Android中的一些小知识点
- Java EE编程技术学习笔记(3)-JSP
- C#知识积累
- LBG矢量量化算法
- 数组——找最大值
- d3 绘制中国地图城市及城市间的连线
- 【代码片-1】 Project Perfect让Swift在服务器端跑起来-引言(一)
- XML与JSON解析
- 斐波那契数列的两种实现
- 网易Emmagee简单改造
- Java EE编程技术学习笔记(4)-JDBC
- RxJava倒计时
- Large Division LightOJ
- POJ 3670