1

これは奇妙なものです。

標準の世界地図で次のことができ、変更ボタンをクリックすると機能します。

    $("#change").on("click", function() {
        map.updateChoropleth({
          "USA": "#ff0f00",
          "IRQ": "#0fa0fa",
          "FRA": "blue",
          "UKR": "orange",
          "MEX": "#00ffaf"
        });
   });

カスタムの topojson ファイルを使用すると、これを行うことができ、マップの読み込み時に変更が実装されます。

map.updateChoropleth({
  "Choptank River": {fillKey: "Poor"}
});

しかし、クリック イベント ハンドラーでラップしようとするとすぐに (世界地図の例とまったく同じように)、機能しません。

$("#change").on("click", function() {
    console.log("test");
    map.updateChoropleth({
      "Choptank River": {fillKey: "Poor"}
    });
});

テスト アラートは正常にトリガーされますが、マップ クロロプレスは更新されません。

アイデアをありがとう!

4

1 に答える 1

1

ID「Choptank River」のスペースが原因であることが判明しました。

https://github.com/markmarkoh/datamaps/issues/124#issuecomment-53314378

「DataMaps は、データが非同期に読み込まれるときに色を適用するためにクラス セレクターに依存しています。ファイルの id フィールドにスペースが含まれているため、クラス セレクターは何も見つけられません。」

ありがとう @markmarkoh

于 2014-08-25T20:34:10.847 に答える