2017-09-19 6 views
-1

私は電子メールとして送信され、アドレス欄にGoogleのAPIを使用する簡単なフォームを作成するために取り組んでいます。私はユーザーがアドレスを入力し始めるところにオートコンプリート部分を使用することを読んで、それを推奨します。だから、もし私が12 Westを入力し始めるなら、カナダのAlbertaにある12 Westmount Drive、Cayley、n2n 5h8をお勧めします。Googleマップから情報を引き出すapi

この情報を通り、都市、郵便番号、州、国に分割することが可能であれば、私はバックエンドで不思議です。そうすれば、私は電子メールに完全なアドレスを含めることができますし、別の段落で通りや都市の情報を使用することもできます。

+0

https://google-developers.appspot.com/maps/documentation/javascript/examples/places-autocomplete-addressform – geocodezip

答えて

2

Googleが返すアドレスから特定のフィールドを引き出すことは間違いありません。

Places Autocompleteを使用していると仮定すると、PlaceResultオブジェクトにアクセスできます。 PlaceResultオブジェクトには、GeocoderAddressComponentオブジェクトの配列であるaddress_componentsというプロパティがあります。

各GeocoderAddressComponentは、コンポーネントの名前を含むtypesの配列を持ちます。複数の名前が記述されている場合は、複数の名前があります。例address_componentsオブジェクトはhereにあります。

address_components配列内のすべての要素をループして、routesublocalityという名前を探して、通りと市の個別の値をそれぞれ得ることができます。

0

/*あなたのフォームに記入した後にメールを送信したいと思っていますか?

私はこのフォーム情報を保持して、将来の使用のために情報をデータベースに収集したいと考えています。次に、情報をsendフォームに問い合わせることができます。ここで

はあなたを助けるかもしれないコードがある*/

(VAR I = 0;私< place.address_components.length;私は++)のために?{

var addressType = place.address_components[i].types[0]; 

if (componentForm[addressType]) { 
    var val = place.address_components[i][componentForm[addressType]]; 
    document.getElementById(addressType).value = val; 

    your_obj[addresType] = val; 

} 

}

//その後、あなたはあなたが好きな場所でそれを使うことができます: var postal_code = your_obj ['postal_code'];

//最初のconsole.log()をチェックして、your_obj内のすべての項目を確認してください。 console.log(your_obj);

関連する問題