9

次の例では、マーカーは JSON から読み込まれます。

20,000 個のマーカーがある場合、JSON は非常に大きくなります。

1 つの巨大な配列を送信する代わりに、ズーム レベルに応じて異なる JSON ファイルを送信する方法はありますか?

http://gmaps-utility-library.googlecode.com/svn/trunk/markermanager/release/examples/weather_map.html

4

5 に答える 5

8

マップ ビューには「外接する四角形」という概念があります。マップ API は、これを 2 つの緯度/経度の座標ペアとして提供します。1 つは南西の角、もう 1 つは北東の角です。

そのため、JSON ポイントを返すカスタム データ サービスがある場合は、これらの座標を入力として受け入れ、それに応じて返されるデータセットを調整する必要があります (ほとんどの場合、SELECT ステートメントの WHERE 句として)。

この外接する四角形を記憶する詳細はわかりませんが、それがAPI ドキュメントの目的です。

于 2009-04-29T19:04:16.400 に答える
7

あなたを助けるMarketClusteredと呼ばれる新しいライブラリがあります

代替テキスト
(出典: googlecode.com )

データが大きすぎる場合でも、すべてのデータをマップにフィードし、それを行う方が良いと思います。

于 2009-04-29T21:14:06.137 に答える
1

はい、私は地方自治体の申請書で同様のことを行いました。そこでは、各家が6,000の奇数世帯にわたってリサイクルされた量を表示していました。データの総量(各世帯の住所と統計情報を含む)が非常に大きいため、データファイル全体を一度に引き戻すと、ブラウザがハングしているように見えました。

そのため、代わりにデータベースへのAJAX呼び出しで、マップ領域の外接する長方形の座標(緯度、経度)を送信し、表示されているポイントのみを返しました。アプリケーションの性質上、「データをフェッチ」するユーザー主導のボタンは非常に受け入れられましたが、テーマで再生できるバリエーションは他にもたくさんあります。サーバー側に境界座標を配信したら、何を決定できますか。そこで行うには、たとえば、ズームレベルが高すぎる場合にのみサブセットを返します。マップ描画イベントもキャッチして、これを自動的に実行できるはずです。

于 2009-04-29T19:09:06.623 に答える
0

この問題を解決するために考えられる方法:

  • ズームレベルに応じて、サーバー側でビルドしJSONます (短所: ズーム後にリロードが必要、長所: 少量のデータのみをロードする必要があります)
  • マーカーがデータにどのようにアクセスできるかについての情報を含めますJSON(長所: データをロードする必要があるのは 1 回だけです。短所: を使用してデータを反復処理しますJavaScript) 。
  • 可視マーカーを計算するJavaScript(長所: 非常に動的、短所: 計算負荷が大きい)
于 2009-04-29T19:03:18.510 に答える