私はチュートリアルhttps://bost.ocks.org/mike/map/のチュートリアルに従っていますが、チュートリアルの途中でtopojson.feature()に関するエラーで失敗したパスを描画することは機能ではありません。topojson.feature with topojson v2
script.js:14キャッチされない例外TypeError:14
(匿名関数)d3.min.js @:6
topojson.featureがscript.js @関数(...)
(匿名関数)ではありません呼び出し@ d3.min.js:6
電子する@ d3.min.js:6
script.js:
var width = 960,
height = 1160;
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height);
d3.json("js/uk.json", function(error, uk) {
if (error) return console.error(error);
console.log(uk);
svg.append("path")
.datum(topojson.feature(uk, uk.objects.subunits))
.attr("d", d3.geo.path().projection(d3.geo.mercator()));
});
HTMLスクリプトが含まれていました。
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.0/d3.min.js"></script>
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="utf-8" />
<title>Map test</title>
\t <link href="css/main.css" rel="stylesheet" type="text/css" />
</head>
<body>
<script src='js/jquery.js'></script>
<script src='js/d3.min.js' charset="utf-8"></script>
<script src='js/topojson.js'></script>
<script src="js/script.js" type="text/javascript"></script>
</body>
</html>
は、もともと私はPathfile-にGeoJSON-TopoJSONを変換しましたtopojsonファイルと一緒に問題を疑われてきた、私はそれがためにuk.jsの名前をしましたチュートリアルの後にテスト目的。 ここ応答で述べたようにもう一つのヒント: https://github.com/topojson/topojson/issues/236 同じまま、そしてuk.json置き換えた後、私は自分自身をcretedまし確認しかし、問題を変更した後: https://bost.ocks.org/mike/map/uk.json
をアドバイスいただきありがとうございます別のエラーになったものの、エラーが追加、いくつかの実験の後、「パス」に定義されていない不満消えました varサブユニット= topojson.feature(uk、uk.objects.subunits); d3呼び出しが "path undefined"エラーを修正する前に、ukが定義されていないと不満を持ち始めました。 これらのエラーはtopojson v2の変更によっても発生しますか? 私に何か不足している場合は教えてください。 –
d3 v4を使用していますか? 'd3.geo.path'は' d3.geoPath'になりました。 'uk'が定義されていないのは、' d3.json'呼び出しがそれをロードできない場合にのみ問題になるはずです。質問のコードを新しいコードで更新できますか? –
はい、私が現在使用しているバージョンは4.435です http://jsfiddle.net/syj4jhes/11/ –