2017-05-20 7 views
-2

ストリート、ストリート番号、州、国を印刷します。 ストリート番号とストリート番号はどうやって印刷できますか? マイコード:Googleマップapiオートコンプリートは、ストリートとストリートの番号のみを表示します

var options = { 
      types: ['geocode'] 
     }; 
     var input = document.getElementById('address'); 
     autocomplete = new google.maps.places.Autocomplete(input, options); 
+1

street、street number、state、countryをよく知っていますか? –

+0

google.maps.places.Autocompleteクラスでは許可されません。フォーマットを変更することはできません。カスタムフォーマットが必要な場合は、google.maps.places.AutocompleteServiceクラスに基づいて独自のオートコンプリートを実装する必要があります。 https://developers.google.com/maps/documentation/javascript/reference#AutocompleteServiceのドキュメントをご覧ください。 – xomena

答えて

0

あなたは場所を選択した後、入力の値を上書きすることによって、これを解決することができます。

var input  = document.getElementById("address"); 
var autocomplete = new google.maps.places.Autocomplete(input, {types: ["geocode"]}); 

autocomplete.addListener("place_changed", function() { 
    var placeResult  = autocomplete.getPlace(); 
    var addressComponents = placeResult.address_components; 
    var street   = ""; 
    var number   = ""; 

    // loop through addressComponents and find the route and street_number types 
    for (var i = 0, i_len = addressComponents.length; i < i_len; i++) { 
     var addressType = addressComponents[i].types[0]; 

     switch(addressType) { 
      case "route": 
       street = addressComponents[i]["long_name"]; 
       break; 

      case "street_number": 
       number = addressComponents[i]["long_name"]; 
       break; 
     } 
    } 

    input.value = number + " " + street; 
}); 

私は最近、容易にこれを可能にするjQuery pluginを作成しました。

$("#address").geocomplete({ 
    fields: { 
    "#address" : "street address" 
    } 
}); 

プラグインを使用すると、選択した場所の結果に基づいて任意の数のフィールドを自動入力できます。それはまた、カスタムスタイルを追加し、コールバックを提供し、厄介なscrolling issueを修正します。

関連する問題