Po załadowaniu pliku topodsona z kodu pocztowego w USA pojawia się błąd w pliku d3.js. groupdata
jest niezdefiniowane w tej linii:Błąd mapowania kodów pocztowych w USA za pomocą topojsona
function bind(group, groupData) {
var i, n = group.length, m = groupData.length, n0 = Math.min(n, m), updateNodes = new Array(m), enterNodes = new Array(m), exitNodes = new Array(n), node, nodeData;
z błędem:
Uncaught TypeError: Cannot read property 'length' of undefined
mój kod, który dzwoni i tworzenia ścieżek jest:
d3.json("data/us-atlas/us-zipcodes.json", function(error, topology) {
svg.selectAll("path")
.data(topojson.feature(topology, topology.objects.zipcodes).features)
.enter()
.append("path")
.attr("d", path)
});
I wygenerowany plik topojson ZIPCODE z tego repozytorium: https://github.com/mbostock/us-atlas. Kiedy sprawdzam obiekt topologii przy obciążeniu, widzę 32893 łuków pod topologią.objects.zipcodes.
Udało mi się załadować powiaty z przykładem chloropleth http://bl.ocks.org/mbostock/4060606 i używam podobnego wzoru jak to.
Używam d3.js w wersji 3.2.8 i topojson.js w wersji 1.2.3.
Wszelkie pomysły? Czy jest to zły plik z kodem pocztowym, czy też dzwonię źle?
Jeśli masz [istota] (https://gist.github.com/) pokazując twój kod może nam pomóc. – Hugolpz