を使用してマップを作成しますleaflet
。Chrome では正常に動作しますが、Fifefox では動作しません。Firefox では、マップの実行が非常に遅いです。これは私のデモです。
それを修正する方法。
2 に答える
描画に必要なポリゴンの量が原因で、ブラウザの速度が低下します。ジオメトリの規模と複雑さによっては、米国全体 (3000 以上) の郡の境界線を描画すると、ブラウザーのリソースにかなりの負荷がかかる可能性があります。メソッドをコメントアウトして、パフォーマンスの向上を確認します。insertCountyData
// insertCountyData();
ブラウザーがレンダリングする必要があるデータの量を減らす別のタイプの戦略を実装することをお勧めします。以下にいくつかの戦略を示します。最初の 2 つは、一度にレンダリングされる郡の数を減らすことです。
ズーム レベルと地図の中心の位置に基づいて、郡の境界を追加します。
別のオプションは、ユーザーがクリックしたときに郡を特定の州に追加することです。これにより、レンダリングに必要なポリゴンの全体量が削減されます。
TileMillを使用してデータをレンダリングします。以前に回答されたこのStackOverflow の質問を参照してください。これは実際には非常によく似ています。
GeoJSON を TopoJSON に変換して、ロードされるデータの量を減らします。
これが役立つことを願っています。大量のポリゴンをクライアント側でレンダリングするのは非常に負担が大きく、これらのさまざまな戦略を使用すると、パフォーマンスの問題を軽減するのに役立ちます。