2016-08-17 5 views
1

私はGoogleマップ上にオーバーレイしたい2Mと10Mの間の静的オブジェクトを持っています。私は以前、かなり小さいセットでHeatmapLayerをうまく試しました。せん断容積のせいで私は少し心配しています。そして、性能上の問題を避けるためには、一緒に物体をまとめる必要があります。ターゲットプラットフォームは標準のデスクトップ上のChromeです。JavaScriptで何百万ものオブジェクトを表示

オブジェクトを近接して配置してマージするには、どのような方法が最適ですか?いくつかのタイプのルーズなクワッドツリーを使ってオブジェクトをまとめてみて、HeatmapLayerを使って各ノードをそれぞれの重みで表示する必要がありますか?あるいは、私は、頂点が動的にマージされ、より多くのオブジェクトが追加されるにつれて三角形が重さを増やし、三角形をGoogle Mapsの上に表示する三角形メッシュを動的に作成しようとしますか? HeatmapLayerは非常に高速です(GLシェーダで実装されているようです)が、Polygonは疑わしいです。

オープンソースを検索しようとしました緩いクワッドツリーのJavaScript実装やその他の高速スペース区切りのJavaScript実装では何も見つかりませんでした。いくつかのC++実装を移植するのが最善でしょうか?似たようなものを作った人からの答えやコメントは役に立ちます!

+2

静的オブジェクトを体系的なゾーンに事前にグループ化したいと思うようです。次に、表示するマップがある場合は、どのゾーンがビューポートと交差しているかを計算し、重なっているゾーン内のオブジェクトのサブセットのみを処理します。私はしばしば、ビューポートと重なるゾーンが1つしかないと想像することができます。これは、ゾーンにサブゾーンが含まれるように複数レベルにすることもできます。また、プロセスを繰り返して、関連するサブゾーンだけに絞り込むこともできます。 – jfriend00

+2

GoogleマップJavascript API v3のドキュメントで「[多すぎるマーカー]」(https://developers.google.com/maps/articles/toomanymarkers)の記事を読んだことがありますか?多くのマーカーでは、タイルベースのレンダリングソリューション(FusionTablesLayer、KmlLayer、またはサーバーでレンダリングしたタイルを含むカスタムマップタイプ)を使用することをお勧めします。 – geocodezip

答えて

0

space partitioning implementationを使用してバックエンドで自分のデータを前処理して解決しました。私はそれをする贅沢を持っている人のためにそれをお勧めします。

関連する問題