私は会社の配送システムに取り組んでおり、ユーザーは(他の多くの情報とともに)何かを配送する必要のある目的地を入力します。移行元のシステムでは、この情報を静的テキストとして使用していたため、「Alsip60801」などの省略形のアドレスを入力することになります。
私の当初の考えは、maps.google.comに速記を入力できるため、この種の速記テキストはGoogle Maps APIで完全に機能し、通常は機能するというものでした。
そこで、省略形の入力でジオコーディングを実行するためのコードをいくつか作成しました。残念ながら、ジオコード検索から返された結果は、maps.google.comから返された結果とは大きく異なりました。
たとえば、maps.google.comで「Alsip60801」を検索すると、Alsip、IL60801が表示されます。その通り です。しかし、Google Maps APIを使用して検索すると、カナダでAlsipが表示されます。
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パラメーターを指定しています。これにより、検索中の私の範囲内のすべてのアドレスが優先的に扱われます。