0
這是一個國家的一個簡單而又鼓舞人心的topojson:動態項目單縣
https://bl.ocks.org/mbostock/7061976
它是由一個JSON只包含狀態數據得出如下:
d3.json("va-counties.json", function(error, topo) {
if (error) throw error;
我想要做的是動態投影一個縣。假設有一個鍵盤事件或者某個運行這個功能的函數:讀入解析的數據,找到縣的id,然後返回該縣的topojson特徵。上述塊和我的情況之間的區別在於,我的json文件將包含美國的所有縣,但我一次只需要1個縣。有沒有辦法在D3中實現這一點?
就像一個簡單的試金石,全縣ID = 1000,我想:
var current_county = topojson.feature(topo, topo.objects.counties).filter(function(d) { return d.id=1000;})),
bounds = path.bounds(county);
但我一直得到持續性的錯誤,不管我有多麼辛苦吧。或者它會停止拋出錯誤,但仍然不能「工作」。也許.filter()
不是工作的最佳工具?還有其他意見嗎?
感謝您閱讀
這使得現在這麼多大意義。謝謝你讓我看到正確的約定。你說得對,我應該使用比較'==='。我正在嘗試測試您的示例,但我在指定庫時遇到了問題。我一直收到「錯誤:無效或意外的令牌。」來自d3.projection.js文件。我知道D3.js是utf-8,是不是有點不同?我該怎麼辦?? –
@ArashHowaida,錯誤消息應該指向你的一行代碼。當你檢查它看起來有什麼東西嗎?錯誤是來自'd3.projection.js'還是你的代碼?我不可能在沒有重現的情況下爲你調試它。 – Mark
它說'd3js.org/d3.geo.projection.v0.min.js'行1,而不是從主html。讓我運行一些測試,看看它是什麼編碼。 –