2016-05-16 15 views
-1

私は達成したいことについていくつかの情報を探していますが、明確な答えが得られていません。GoogleマップAPI for addesses検索

私は数千のアドレスを持つデータベースを持っています。ユーザーが郵便番号を入力して検索すると、マップ内の郵便番号に近いすべての利用可能な住所が検索結果に表示されます。ズームインすると、明らかに検索郵便番号に近い住所が表示され(したがって検索結果は少なくなります)、ズームアウトすると住所がさらに広がります(検索結果が増えます)。そして、位置アイコンをクリックすると完全なアドレスが表示されます。

住所を緯度と経度として保存する必要がありますか、Googleマップで住所を郵便番号で検索することはできますか?経度と緯度を格納する必要がある場合、アドレスをlongとlatに変換する最も良い方法は何ですか?

有用なリンクや再利用可能なコードを教えていただければ幸いです。

おかげ

答えて

0

私の理解では、あなたは郵便番号で識別されるいくつかの場所にあなたのデータからのすべての最も近い場所を見つけたいです。

まず、すべての住所を座標(緯度と経度)に変換する必要があります。あなたは、GoogleのジオコードAPIを使用して、あなたのDB内のすべての単一のアドレスをGoogleジオコードAPIを呼び出すスクリプトとして作成する必要がありますことを行うことができます。

https://maps.googleapis.com/maps/api/geocode/json?address=EXAMPLE_ADDRES&key=YOUR_API_KEY 

このスクリプトは、hereを文書化されます応答を。あなたはそれを解析して各場所の緯度と経度を取得し、それらをデータベースに格納することができます。 Google Geocode APIの制限事項を熟知しています。それらはhereと記載されています。これらの制限を超えない方法でスクリプトを作成する必要があります。ジオコーディングの結果をキャッシュするためにthis articleも読んで、利用規約に違反していないことを確認してください。また、サーバーサイドジオコーディングのベストプラクティスとサンプルも含まれています。

誰かがあなたのアプリケーションに郵便番号を入力すると今、あなたが調整するために郵便番号を変換するジオコーディングAPIやGoogle maps Geocoding serviceを使用することができますし、半正矢式を使用して、あなたは郵便番号の場所の座標に、あなたのDBから最も近い場所を計算することができます。このSO answerの例(アドレスバーのアドレスの代わりに郵便番号+州/国を入力します)またはバックエンド側でフロントエンド側で行うことができます(MySQLを使用する場合はSO questionをチェックしてください)。

関連する問題