首页 > 编程语言 > 详细

JavaScript d3.js小练习中国地图

时间:2021-01-14 22:20:24      阅读:65      评论:0      收藏:0      [点我收藏+]

chinamap.html和china.json两个文件都放到自己的web服务上进行访问,比如nginx.

使用docker镜像搭建简单的静态nginx服务器
https://www.cnblogs.com/v5captain/p/14162506.html

http://localhost/chinamap.html

https://files.cnblogs.com/files/v5captain/china.json  右键保存该文件到本地.

技术分享图片

 

 chinamap.html

<html>
<head>
</head>
<body>

<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>

china map:<br>
<script>
var w = 500*4;
var h = 300*4;
var color = d3.scale.category10();
//Define default path generator
var path = d3.geo.path();
//Create SVG element
var svg = d3.select("body")
            .append("svg")
            .attr("width", w)
            .attr("height", h);
var projection = d3.geo.mercator()
    .center([107, 31])
    .scale(850)
    .translate([w/2, h/2]);
var path = d3.geo.path()
    .projection(projection);
d3.json("http://localhost/china.json", function(error, root) {
    if (error)
        return console.error(error);
    console.log(root.features);
    svg.selectAll("path")
        .data( root.features )
        .enter()
        .append("path")
        .attr("stroke","#000")
        .attr("stroke-width",1)
        .attr("fill", function(d,i){
            return color[i];
        })
        .attr("d", path )   //使用地理路径生成器
        .on("mouseover",function(d,i){
          d3.select(this)
          .attr("fill","yellow");
        })
        .on("mouseout",function(d,i){
          d3.select(this)
          .attr("fill",color(i));
        });
});

</script>
</body>
</html>

JavaScript d3.js小练习中国地图

原文:https://www.cnblogs.com/v5captain/p/14279264.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!