我在更新传单上的显示geoJSON
时遇到问题。
我正在使用d3
和leaflet
。每次用户选择时,callbackHandler
都会收到新的geoJSON
(name
}。
我的代码如下所示:
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 :(得分:0)
如果没有看到你的其余代码,只检查这个提取,我肯定会说要解决的第一个问题就是摆脱回调函数中newName
参数周围的引号......
应该看起来像someCallbackHandler("name", function(newName) {