2017-02-26 65 views
1

我有一個輸入字段,只有地址返回。Google Maps API自動完成 - 如何僅輸出街道名稱?

但是,當我輸入街道名稱時,輸入字段將返回街道名稱加逗號和街道的城市。

我得到了下面的代碼:

<script src="http://maps.google.com/maps/api/js?libraries=places&region=de&language=de&sensor=false"></script> 
<input id="strasse" type="text" size="50"> 

$(function(){  

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

    $("#strasse").focusin(function() { 
     $(document).keypress(function (e) { 
      if (e.which == 13) { 
       infowindow.close(); 

      } 
     }); 
    }); 
}); 

EG:

我輸入 「Teststreet」 輸出= 「Teststreet,慕尼黑」

迴歸應該只是 「Teststreet」。

有沒有辦法,刪除「,」(也許通過jQuery)後的一切?

+0

http://stackoverflow.com/questions/10125189/google-maps-autocomplete-output-only-address-without-country-and-city –

+2

[Google maps Autocomplete:output only address without country and city ](http://stackoverflow.com/questions/10125189/google-maps-autocomplete-output-only-address-without-country-and-city) –

回答

2

可以使用place_changed事件偵聽器,然後選擇你想從返回什麼:

<script> 
    var input = document.getElementById('strasse'); 
    var autocomplete = new google.maps.places.Autocomplete(input, { 
      types: ["address"] 
     });  
    $(function(){  

     autocomplete.addListener('place_changed', fillInAddress); 

     $("#strasse").focusin(function() { 
      $(document).keypress(function (e) { 
       if (e.which == 13) { 
        infowindow.close(); 

       } 
      }); 
     }); 
    }); 

    function fillInAddress() { 
     // Get the place details from the autocomplete object. 
     var place = autocomplete.getPlace(); 
     if (typeof place.address_components[0] !== "undefined") { 
      $(input).val(place.address_components[0].long_name); 
     } 
    } 
    </script> 

還有什麼可以實現here相當不錯的演示。

在這種情況下,我們使用返回的route類型的long_name。只需console_log(place.address_components);即可查看返回的完整列表。

+0

謝謝!這是我一直在尋找的。 – Harvix

相關問題