D3 Map not rendering on DOM (topojson file)

43 Views Asked by At

I think I've hit a wall here. Not sure why my map isn't displaying at all.

I've converted the topojson file to geojson with the topojson client (https://github.com/topojson/topojson-client/blob/master/README.md)

Here's my JS file (I'm seeing my #map and background color, but nothing is rendering inside.)

var width = 900,
    height = 600;

var svg = d3.select('#map')
    .append('svg')
    .attr('width', width)
    .attr('height', height);

var projection = d3.geoAlbersUsa()

var path = d3.geoPath()
    .projection(projection);


d3.json("https://gist.githubusercontent.com/Lupi7000/d770ce6f2985c3a7bac1099688e4f772/raw/d327f59834fb0f9f2201ad71c3f1711ecb5bf6de/NYTest.json")
    .then(function(d) {
  
  console.log(d)
  
  var counties = topojson.feature(d, d.objects.cb_2015_new_york_county_20m)
  
  console.log(counties)
  
  svg.selectAll('path').data(counties.features)
    .enter().append('path')
    .attr('d', path);

});

Here's my HTML


<html>
  <head>
    <meta charset="UTF-8">
    <title> NYS Map</title>
    <script src="https://d3js.org/d3.v7.min.js"></script>
    <script src="https://unpkg.com/[email protected]/dist/topojson.min.js"></script>
    <script src="https://unpkg.com/topojson-client@3"></script>
     <script src="NYmap.js"></script>
    <link href="style.css" rel="stylesheet" type="text/css">
  </head>
  <body>
    <h3> NYS MAP CLICKABLE AND SHIT... EVENTUALLY</h3>
    <div id="map"><!-- MAP CONTAINER --></div>
    
    

  </body>
</html>

And my stylesheet

body {
  margin: 25px;
}

#map {
  width: 900px;
  height: 600px;
  border: 1px solid black;
  background: whitesmoke;
}

path {
  fill: black;
}

Any help would be appreciated, thanks!

I've console logged my data so it's coming through, but I'm not sure what I need to do to make it show up.

0

There are 0 best solutions below