2016-06-29 34 views
0

我在更新小冊子地圖上顯示的geoJSON時遇到問題。 我正在與d3leaflet合作。每次用戶選擇時,callbackHandler都會收到新的geoJSONname)。在小冊子地圖上更新CallbackHandler中的geoJson

我的代碼看起來如下:

someCallbackHandler("name", function("newName") { 
    var newJson = JSON.parse(newName); 
    // then its basically this 
    https://bost.ocks.org/mike/leaflet/ 
    ... 
}); 

第一geoJson被顯示。但是,只要用戶選擇顯示另一個,地圖就不會更新。 是什麼導致了這種行爲? 由於displayfunction嵌套在callbackHandler內,因此每次發送新的geoJson時應該引發它。或者我錯過了什麼?

編輯

它很難張貼代碼的一個完整的例子,因爲它有很大的依賴性...... 我把範圍縮小到這一點。 我發現迄今爲止,當第一次callbackHandler踢,console.log(newJson)給我一個Object。當callbackHandler踢在第二,第三,第四,...時間我得到: {crs: {type: "name", properties: ... "FeatureCollection", features: Array}。當我檢查Object/{crs: {type: ....中的值時,我發現它們有所不同。但是他們的地圖不會改變。

這似乎不正確?!

回答

0

沒有看到你的代碼的其餘部分,只檢查這種提取物,我肯定會說,首先要解決的問題是擺脫圍繞在回調函數的參數newName的報價...

它應該看起來像someCallbackHandler("name", function(newName) {

+0

對不起,這是一個錯字......當然,它不是一個字符串,而是一個變量名。 – Stophface

+1

好的,你可以在這裏發佈一個完整的例子嗎? – snkashis

+0

我盡我所能地編輯了我的問題。 – Stophface

相關問題