GoogleMapを利用して10000件程度のデータからMap中心に近いデータ10件だけを表示させようと考えています。※データには住所・名前が入っています。
今、10000件のデータから中心に近い10件を抜き出すロジックを考えるところで困っています。参考になるようなサイトを探していたのですが、大量のデータを利用したサンプルを公開しているようなサイトが見つかりませんでした。
現状、DBからデータを読み込み、GClientGeocorder()を利用して住所から緯度・経度を割り出した上で、GLatLng()のdistanceFromを利用して中心地から近い座標を取得し、値の小さな10件を表示しようと考えております。
ただし、こんな処理をすればレスポンスが悪くなるのは目に見えて明らかなので、他に何かよい手立てはないでしょうか?
バッチ処理で、住所と緯度経度のXML/CSVファイルを作って、それを読み込む構成は考えているのですが、もっとスマートな方法があれば、教えていただけないでしょうか。
宜しくお願いいたします。
自分もぜひこれは知りたいです。
http://www.openspc2.org/reibun/Google/Maps/API/ouyou/ver2/013/in...
例えばこれで少しはフィルタをかければレスポンスも早くなるのでは?
回答ありがとうございます。
たしかにフィルタをかけるのは有効な手段ですが、エリア内の座標を判断するために、バックでGeocordingによる住所→座標の変換処理がはしってしまうので劇的な効果は得られませんでした。
# 中心からの距離を取得する必要のあるマーカーが減った分軽くはなりましたが、、、
結局裏ではこんな地道な作業しかしていないのでしょうか・・・
GoogleMapでそこそこのデータ量を利用しているのサイトは、はてなマップしか知らないのですが、他にもいい事例はないでしょうか?