1

私は、英国周辺の多くのロケイトン ポイントを Google マップに入力する iPhone アプリを開発しています。

10,000 を超えるポイントがあり、ユーザーがスクロール アウトすると、各ポイントは緯度/経度の位置に基づいてマップに固定されます。ユーザーがズーム量を変更するたびに、ページ上のピンをリ​​ロードする必要があります。

マップを移動するたびに iPhone の画面に 10,000 個のピンをロードしようとすると、ロードに時間がかかり、アプリが使用できなくなります。

これは、アプリがどのように過密になるかのスクリーンショットです: http://www.wreckfinder.co.uk/wp-content/uploads/2012/06/photo-8.png

よりクリーンでわかりやすい方法でデータを表示する良い方法を決めるのに苦労しています。

考えられる解決策:

  • グリッド ビュー このようなデザインはうまくいくと思いますが、簡単に作成するには複雑に思えます: http://marinetraffic.com/ais/

この Web サイトでは、マップのエリアをグループ化し、エリア内にいくつのピンがあるかを説明しています。ズームインすると、表示するポイントがマップに表示されます。

  • 最大数のピンを表示する もう 1 つのアイデアは、一度に最大 500 個のピンのみを表示することです。したがって、ユーザーが 500 ピン未満のレベルでズームインすると、ピンが表示されます。しかし、問題があります。iPhoneに表示されているピンの数をいつでも知る方法が見つかりません。ピンのデータベースしか制御できないようです。ユーザーが見ているズームレベル/場所を知ることはできません地図で。

  • データベースをセクションに分割します。たとえば、画面を 3x3 の 9 つのボックスに分割し、データベースをボックスごとに最大 1000 個のピンに分割します。ユーザーが領域をクリックすると、その領域のこれらのピンのみが表示され、戻る必要があります。さらなるピンを表示するため。


上記から、理想的には 1. または 2. を使用したいと思います。 2. が最も単純に思えますが、

2.を達成する方法を説明するのを手伝ってくれるか、これらのピンをより適切に表示するための他の簡単で簡単な解決策があれば、私は感謝します!!

ありがとう、ショーン。

4

4 に答える 4

4

ピンを 1 つのピンにグループ化します。また、さまざまなズーム レベルでそれらをグループ解除します。たとえば、英国のズーム レベルでは、たとえば 50 個のピン (地域など) があります。領域にズームインすると、そのピンがその子ピンにグループ化解除されます。これが最善の方法です。

于 2012-06-15T15:00:43.927 に答える
0

Oleg Danu が言ったように、ピンをグループ化できます。これはそれについて話している記事です。例としていくつかのライブラリと、このケースで使用したアルゴリズムもあります (アルゴリズムの実装は簡単ではないことに注意してください)。

http://applidium.com/en/news/too_many_pins_on_your_map/

于 2012-06-15T15:13:47.957 に答える
0

過去に、これには Marker clusterer lib を使用しました。次の場所にあります。

http://google-maps-utility-library-v3.googlecode.com/svn/tags/markerclustererplus/2.1.2/examples/simple_example.html

于 2014-08-31T13:46:46.633 に答える
0

同様の問題を解決するためにアプリで行ったことは次のとおりです。基本的に、ピンを自動的に描画しないでください。ユーザーにそれらを尋ねさせます。

  1. ドットまたはターゲット アイコンでマップの中心をマークします。
  2. 地図中央下部「10マイル以内のすべての場所を検索」ボタンを追加
  3. ボタンをタップすると、データベースを反復処理します (理想的にはバックグラウンド スレッドで)。中心から 10 マイル以内の場合は、ピンをドロップします (できれば、データベースを緯度/経度で並べ替えることができるので、10,000 をすべて調べる必要はありません)。

クールな追加機能は、そのピンのデータベースに基づいて構築することでした。ユーザーがマップ内を移動し、さらに場所を要求すると、既に画面に表示されているものに追加するだけです。

振ってピンをリセットします。=)

ズームインおよびズームアウトすると、マイルの半径 (1、5、10、50) を変更できますが、ピンの数を制限してマップのスクロールを解放することが重要です。幸運を!

編集: Oleg/Zoleas のアプローチについてコメントするのに十分な担当者がいませんが、10,000 ポイントすべてを表示する必要がある場合は、ピンをグループ化することをお勧めします。しかし、UX デザイナーとして、私はユーザーにとって、可能なすべての場所を表示する必要がある場合よりも、現在の場所に近い場所を見つけることの方が重要であるかどうかを尋ねたいと思います。

于 2012-06-15T15:07:04.787 に答える