GoogleMapに関して質問です。


GoogleMapを利用して10000件程度のデータからMap中心に近いデータ10件だけを表示させようと考えています。※データには住所・名前が入っています。

今、10000件のデータから中心に近い10件を抜き出すロジックを考えるところで困っています。参考になるようなサイトを探していたのですが、大量のデータを利用したサンプルを公開しているようなサイトが見つかりませんでした。

現状、DBからデータを読み込み、GClientGeocorder()を利用して住所から緯度・経度を割り出した上で、GLatLng()のdistanceFromを利用して中心地から近い座標を取得し、値の小さな10件を表示しようと考えております。

ただし、こんな処理をすればレスポンスが悪くなるのは目に見えて明らかなので、他に何かよい手立てはないでしょうか?

バッチ処理で、住所と緯度経度のXML/CSVファイルを作って、それを読み込む構成は考えているのですが、もっとスマートな方法があれば、教えていただけないでしょうか。

宜しくお願いいたします。

回答の条件
  • URL必須
  • 1人1回まで
  • 登録:
  • 終了:2007/02/09 15:45:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:tokyosmash No.1

回答回数100ベストアンサー獲得回数6

ポイント60pt

自分もぜひこれは知りたいです。

http://www.openspc2.org/reibun/Google/Maps/API/ouyou/ver2/013/in...

例えばこれで少しはフィルタをかければレスポンスも早くなるのでは?

id:er7

回答ありがとうございます。

たしかにフィルタをかけるのは有効な手段ですが、エリア内の座標を判断するために、バックでGeocordingによる住所→座標の変換処理がはしってしまうので劇的な効果は得られませんでした。

# 中心からの距離を取得する必要のあるマーカーが減った分軽くはなりましたが、、、

結局裏ではこんな地道な作業しかしていないのでしょうか・・・

GoogleMapでそこそこのデータ量を利用しているのサイトは、はてなマップしか知らないのですが、他にもいい事例はないでしょうか?

2007/02/07 09:06:33
  • id:tokyosmash
    うーんちょっと思いつきません。。
    予め緯度経度データを産出して、それをDBに入れておくしか無いのでしょうか。

    自分もG-MAPのGeocorderで色々と悩んでますが、情報が少なすぎて困ってます。古籏さんの本が一番の情報源ですかね?

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません