D3
OG
Old school D3 from simpler times
All examples
By author
By category
About
scotthmurray
Full window
Github gist
map not working
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Map of Spain</title> <script src="//d3js.org/d3.v3.min.js" charset="utf-8"></script> <style type="text/css"> body { margin: 0; background-color: lightGray; font-family: Helvetica, Arial, sans-serif; } #container { width: 700px; margin-left: auto; margin-right: auto; margin-top: 50px; padding: 50px; background-color: white; box-shadow: 3px 3px 5px 6px #ccc; } h1 { font-size: 24px; margin: 0; } p { font-size: 14px; margin: 15px 0 10px 0; } a:link { text-decoration: none; color: gray; } a:hover { text-decoration: underline; } a:visited { color: gray; } a:active { color: steelBlue; } svg { background-color: white; } </style> </head> <body> <h1>Spanish provinces</h1> <script type="text/javascript"> //Width and height var w = 700; var h = 500; //Define map projection var projection = d3.geo.mercator() .translate([ w/2, h/2 ]) .scale([ 30000]); //Define path generator var path = d3.geo.path() .projection(projection); //Create SVG var svg = d3.select("body") .append("svg") .attr("width", w) .attr("height", h); //Load in GeoJSON data d3.json("provincias.json", function(json) { //Bind data and create one path per GeoJSON feature svg.selectAll("path") .data(json.features) .enter() .append("path") .attr("d", path); }); </script> </body> </html>
https://d3js.org/d3.v3.min.js