2011-10-28 14 views
0

宛先に何かを出荷する必要があると入力した私の会社の配送システムに取り組んでいます(他の情報とともに)。私たちが移行しているシステムは、この情報を静的テキストとして使用したので、人々は "Alsip 60801"のような短縮型アドレスを入力します。Google Maps API:検索

私の元の考えでは、そのような略語はGoogle Maps APIと完全に機能すると思っていましたが、maps.google.comに短縮形を入力することができ、一般的に機能します。

だから、geocodingを短縮入力に実行するコードを書きました。不幸にも、ジオコード検索から返された結果は、maps.google.comから返された結果と大きく異なりました。

たとえば、maps.google.comで「Alsip 60801」を検索すると、Alsip, IL 60801.となります。正しいです。しかし、Google Maps APIを使用して検索すると、私はsome Alsip up in Canada.

Google Maps APIに使用する検索機能はありますか?私が紛失している何らかの旗?

参考のために、これは私のコードの短いバージョンです:

var geocode = new google.maps.Geocoder(); 

geocode.geocode({'address': 'Alsip 60801' }, function(results, status) { 
     console.log(results[0].geometry.location); 
     //Outputs the LatLng of a Canada address 
}); 

編集1:私は言及するのを忘れ、私はジオコードリクエストに応じて領域を設定してみてくださいました。私はそれを私たちに設定し、同じ結果を得ました。

更新 - 回答:結果の最後に国コードをタックすると動作するように見えるので、@ Jitimaroの答えは正しいとマークしました。私はそれがあらゆる種類の入力でうまくいくかどうかはわかりませんが(これは短縮形のアドレス形式を予測することは難しいですが)、今はうまくいくようです。

しかし、私は実際これを別の方法で処理しています。住所の最後に国コードを追加するのではなく、実際にはジオコード要求の最後にLatLngBoundsパラメータを指定しています。それは私の範囲内のすべてのアドレスを検索していると優遇されます。

+0

多分あなたの国旗が残っていますか? – Bytemain

+0

@ Jitamaroそれを試してみました。そのビットの情報を含む質問が更新されました。 – jwegner

答えて

0

ウェブサイトで検索すると、http://maps.google.com/maps?q=Alsip+60801のようなプレビューが表示されます。逆ジオコードを検索する場合は、結果を解析して国の住所に一致させる必要があります。http://maps.googleapis.com/maps/geo?q=Alsip+60801ネットワークスニファを使用して別のURLをチェックすることができます。または、国にあなたのURLを追加することができますhttp://maps.googleapis.com/maps/geo?q=Alsip+60801+USA