0

私は会社の配送システムに取り組んでおり、ユーザーは(他の多くの情報とともに)何かを配送する必要のある目的地を入力します。移行元のシステムでは、この情報を静的テキストとして使用していたため、「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パラメーターを指定しています。これにより、検索中の私の範囲内のすべてのアドレスが優先的に扱われます。

4

1 に答える 1

0

Web サイトで検索すると、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に国を追加することもできます。

于 2011-10-28T20:22:03.463 に答える