2016-06-29 5 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が表示されます:

私のコードは次のようになります。ただし、ユーザーが別のマップを表示することを選択すると、マップは更新されません。 この現象の原因は何ですか? display関数はcallbackHandlerにネストされているので、新しいgeoJsonを送信するたびに呼び出される必要があります。または私は何かを逃している?

それが依存関係をたくさん持っているので、コードの完全な例を投稿するために、そのハード編集

... 私は、このビットにそれを絞り込みます。 私が今までに見つけたのは、初めてcallbackHandlerがキックすると、console.log(newJson)は私にObjectを与えます。 callbackHandlerが2番目、3番目、4番目、...時間にキックすると、私はそれを得る: {crs: {type: "name", properties: ... "FeatureCollection", features: Array}。私がObject/{crs: {type: ....の値をチェックするとき、私はそれらが異なっていることが分かります。しかし、彼らの地図は変わらない。

これは正しくないようですか?

答えて

0

あなたのコードの残りの部分を見て、これだけの抽出物を調べなければ、私は間違いなく...解決する最初の問題は、コールバック関数でのごnewNameパラメータを囲む引用符を取り除くされてそれが必要

を言うだろうlook like someCallbackHandler("name", function(newName) {

+0

申し訳ありませんが、それはタイプミスです...もちろん、文字列ではなく可変文字列です。 – Stophface

+1

[OK]を、どこかの完全な例を投稿できますか? – snkashis

+0

できるだけ私の質問を編集しました。 – Stophface

関連する問題