多角形のFeatureCollectionをマップ(1つのGeoJSONLayer
)にレンダリングしました。各ポリゴンのサイズは大きい(5MB、10MB)。ユーザーとのやりとりにより、ポリゴンの色は常に再計算されます&。我々はdata-driven
メソッドを使用し、各フィーチャのプロパティにデータを保持しています。したがって、GeoJSONLayer
は、データと色が変更されるたびに.setData(geojson)
を呼び出す必要があります(プロパティに保持されます)。 上記のアプローチは、geojsons
のサイズが大きく、.setData()
の呼び出しが高価であるため、パフォーマンスの問題につながることがわかります。 私はgeojsonソースとデータ、スタイル、色分け、直接の呼び出しを分けることを考えていますfunction (setPaintProperty)
色が変わったときはいつでも良いでしょう。データドリブンの色を変えたときのパフォーマンス(setPaintPropertyを使用した場合と比較して)
誰かが.setData
と.setPaintProperty
が同じことをすると、どちらも2が両方のポリゴンを再レンダリングするトリガーになると私に言いました。
は親切にこの問題について
おかげでたくさんのアドバイスに助けが必要!
map.setData(mylayer, mygeojson)
map.setPaintProperty(mylayer, 'fill-color', ...mydatadrivenproperty)
私がテストしていませんが、最初のものはに持っているので、私は、第二が高速であると仮定したい:私が正しくあなたを理解していれば
返信いただきありがとうございます。私は試してみたところ、私の場合は2番目の方が速い –