博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用D3渲染中国地图
阅读量:4146 次
发布时间:2019-05-25

本文共 1204 字,大约阅读时间需要 4 分钟。

//1、先在页面中初始化一个svg标签		var w = 1000,h = 1000;		var svg = d3.select('body')					.append('svg')					.attr('width',w)					.attr('height',h)					.attr('transform','translate(0,0)');		//d3.geo  是d3中一些地图相关的方法		var projection =d3.geo.mercator()//投影的方法					.center([107,31])//经纬度					.scale(550)//放大的倍数					.translate([w/2,h/2]);//投影在某个位置		//坐标的转换	把相应经纬度的点 转换成 svg里面d属性相应的要去画的  坐标点		var path = d3.geo.path()					.projection(projection);		//d3中做服务器请求的  方法来的			d3.json('./data/china_diaoyudao.json',function (err,root) {			//root  是用d3请求回来的数据			console.log(root.features);//数组  34个			d3.select('svg').selectAll('path')							.data(root.features)							.enter()							.append('path')							.attr('stroke','gray')							.attr('stroke-width','1')							.attr('d',function (data,index) {								return path(data);							})							.attr('fill',function (data,index) {								return color();							})							.on('mouseover',function () {								//this dom对象								d3.select(this)								.attr('fill','yellow')							})							.on('mouseout',function () {								d3.select(this)								.attr('fill',color())							})		})		//返回一个随机16进制的 颜色		function color(){		    return '#'+Math.floor(Math.random()*0xffffff).toString(16);		}

转载地址:http://kwcti.baihongyu.com/

你可能感兴趣的文章
js报错显示subString/subStr is not a function
查看>>
高德地图js API实现鼠标悬浮于点标记时弹出信息窗体显示详情,点击点标记放大地图操作
查看>>
初始化VUE项目报错
查看>>
vue项目使用安装sass
查看>>
HTTP和HttpServletRequest 要点
查看>>
在osg场景中使用GLSL语言——一个例子
查看>>
laravel 修改api返回默认的异常处理
查看>>
laravel事务
查看>>
【JavaScript 教程】浏览器—History 对象
查看>>
这才是学习Vite2的正确姿势!
查看>>
7 个适用于所有前端开发人员的很棒API,你需要了解一下
查看>>
25个构建Web项目的HTML建议,你需要了解一下!
查看>>
【web素材】02-10款大气的购物商城网站模板
查看>>
6种方式实现JavaScript数组扁平化(flat)方法的总结
查看>>
49个在工作中常用且容易遗忘的CSS样式清单整理
查看>>
20种在学习编程的同时也可以在线赚钱的方法
查看>>
隐藏搜索框:CSS 动画正反向序列
查看>>
127个超级实用的JavaScript 代码片段,你千万要收藏好(上)
查看>>
【视频教程】Javascript ES6 教程27—ES6 构建一个Promise
查看>>
【5分钟代码练习】01—导航栏鼠标悬停效果的实现
查看>>