Googleのような地図の描画を最適化するのに問題があります。何百ものポイントで問題なく動作しますが、数千のような大量になると、あいまいで遅くなります。また、ズームを解除すると奇妙に見えます。
Googleマップでズームを解除しているように見えるように、描画アルゴリズムを最適化して描画する場所を少なくする方法を知りたいです。
ただし、場所間のリンクも描画しているため、最適化できません。
考えられることは何でも投稿してください。これを終えて明日送信する必要があります。
外観は次のとおりです。
以下に 2 つのアイデアを示します。
マップ上に描画するすべてのオブジェクトには、データベース内の「ズーム レベル」という特別な値があります。ズームインすると、その値に基づいて追加のアイテムが表示されます。
これに対する 2 つ目の方法は、グループ化を使用することです。アイテムが重なり始める場合は、[10 個のアイテム] で 1 つのポイントを示します。ズームインすると、その下のアイテムのみが表示されます。
いくつかのヒント:
しきい値よりも短い線を描画しないように誘惑されると思います (絶対距離の用語ではなく、ビューポートの観点からこれを意味します)。つまり、マップをズームアウトすると、描画するものが少なくなり、マップが混雑していないように見えます。マップをズームインすると、これらの近くのポイント間の線が見えるようになります。編集:実際には、もう少し考えてみると、画面に多数の行がある場合にのみこの長さ制限を適用するか、長さのしきい値を画面上の行数の関数にすることになると思います。
また、画面外 (ビューポートの外) にあるポイント、または少なくとも画面からかなり離れたポイント (ビューポートの中心から離れたしきい値) からの線を描画しないように誘惑されると思います。最初にこの変更を試すことをお勧めします。
これらの変更は情報を隠しているように見えるかもしれませんが (そしてそうなるでしょう)、現状では、マップは非常に混雑しているため、提示されたこの情報はとにかくほとんど役に立ちません。