2011-01-07 5 views
0

私は友人の座標であるデータのセットを持っています、私はその座標(長さ、緯度)を与えられた近くの友達(5キロメートル以内)を見つけるのを助けることができるサービスをGoogleが提供するのだろうか?Googleマップ:近くのマークを見つけるにはどうすればよいですか?

他にも簡単な方法がありますか?私はちょうど車輪を再発明したくありません:)

+0

もう一度申し訳ありませんが、少なくともGoogleマップからの距離はhttp://code.google.com/apis/maps/documentation/javascript/v2/reference.html#GLatLng.distanceFromについてはわかりません近接検索は...それは境界のrectまたはAndroidデバイスのようなローカル検索のために何かに基づいてそれをしなければならないと思います私はいくつかのより多くの検索をしようとしている...また、それは合理的なので、あなたはそれを近いものとしてフラグを立てるか、閉じないで、すべてのポイントについて正確な計算を行わないようにします... – shaunhusain

+0

これは使用するかもしれませんが、それでもあなたはまだ検索する必要がある何らかの方法でlat/lng境界に対応するすべてのアドレスについて... http://code.google.com/apis/maps/documentation/geocoding/#Viewportsこれは他のすべてのものと同様にプログラミングが可能です:) – shaunhusain

+0

will yoすべての10,000個のマーカーをクライアントにロードしますか?もしそうなら、実際にはLatLngBoundsオブジェクトのcontainsメソッドを使用して、あなたの探索中のマーカーから5KMの範囲を計算してから、他のマーカーのそれぞれにcontainsメソッドを使ってLatLngBoundsに含まれているかどうかを調べることができます – shaunhusain

答えて

2

私はあなたのソリューションのためにあなたが使用できるAPIの任意の並べ替えを提供するとは思わない。

私が見る最も実現可能な解決策は、long longをサーバーに送信してから、与えられたlat long pairの各点間の距離を計算することです。友人が上記の半径(例えば5キロメートル)内にいる場合は、友人の情報をクライアントに返します。

距離を計算するための情報は、次のリンクをご覧ください。
http://www.movable-type.co.uk/scripts/latlong.html

あなたができることの1つは、可能であればサーバー側のチェックを最小限に抑えるために、大陸または国の友人データを分割することです。

関連する問題