2016-12-08 7 views
0

私はチュートリアル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

答えて

0

あなたはtopojsonクライアントファイルが欠落しています、 v2のベーストポゾンコードから分割されています。あなたのコードに次のスクリプトが含まれている場合、それが動作するはずです: を:

<script src="https://unpkg.com/[email protected]"></script> 
+0

をアドバイスいただきありがとうございます別のエラーになったものの、エラーが追加、いくつかの実験の後、「パス」に定義されていない不満消えました varサブユニット= topojson.feature(uk、uk.objects.subunits); d3呼び出しが "path undefined"エラーを修正する前に、ukが定義されていないと不満を持ち始めました。 これらのエラーはtopojson v2の変更によっても発生しますか? 私に何か不足している場合は教えてください。 –

+0

d3 v4を使用していますか? 'd3.geo.path'は' d3.geoPath'になりました。 'uk'が定義されていないのは、' d3.json'呼び出しがそれをロードできない場合にのみ問題になるはずです。質問のコードを新しいコードで更新できますか? –

+0

はい、私が現在使用しているバージョンは4.435です http://jsfiddle.net/syj4jhes/11/ –

関連する問題