表示されたgeoJSON
をリーフレットに更新する際に問題が発生しました。 私はd3
とleaflet
で作業しています。 callbackHandler
は、ユーザーが選択するたびに新しいgeoJSON
(name
)を受信します。チラシマップ上のCallbackHandler内のgeoJsonを更新する
someCallbackHandler("name", function("newName") {
var newJson = JSON.parse(newName);
// then its basically this
https://bost.ocks.org/mike/leaflet/
...
});
最初geoJson
が表示されます:
私のコードは次のようになります。ただし、ユーザーが別のマップを表示することを選択すると、マップは更新されません。 この現象の原因は何ですか? display関数はcallbackHandler
にネストされているので、新しいgeoJson
を送信するたびに呼び出される必要があります。または私は何かを逃している?
それが依存関係をたくさん持っているので、コードの完全な例を投稿するために、そのハード編集
... 私は、このビットにそれを絞り込みます。 私が今までに見つけたのは、初めてcallbackHandler
がキックすると、console.log(newJson)
は私にObject
を与えます。 callbackHandler
が2番目、3番目、4番目、...時間にキックすると、私はそれを得る: {crs: {type: "name", properties: ... "FeatureCollection", features: Array}
。私がObject/{crs: {type: ....
の値をチェックするとき、私はそれらが異なっていることが分かります。しかし、彼らの地図は変わらない。
これは正しくないようですか?
申し訳ありませんが、それはタイプミスです...もちろん、文字列ではなく可変文字列です。 – Stophface
[OK]を、どこかの完全な例を投稿できますか? – snkashis
できるだけ私の質問を編集しました。 – Stophface