我有下面的JavaScript代碼,這是谷歌地圖自動完成不同的輸入文本框是地址的一部分。更改谷歌地圖自動完成的文本框中的值
function startAutoComplete() {
var address = document.getElementById("addressId");
var city = document.getElementById("cityId");
var state = document.getElementById("stateId");
var zip = document.getElementById("zipId");
//option for autocomplete
var option = {types: ['geocode'], componentRestrictions: {country: 'us'}};
//autocomplete for address textbox
autocomplete = new google.maps.places.Autocomplete(address, option);
google.maps.event.addListener(autocomplete, 'place_changed', function() {
var place = autocomplete.getPlace();
//parses the result object and populates the other textboxes accordingly
for(i=0; i<place.address_components.length; i++)
{
if(place.address_components[i].types[0] == 'locality')
city.value = place.address_components[i].long_name;
if(place.address_components[i].types[0] == 'administrative_area_level_1')
state.value = place.address_components[i].short_name;
if(place.address_components[i].types[0] == 'postal_code')
zip.value = place.address_components[i].long_name;
}
/* Here is the PROBLEM */
address.value = place.name;
});
然而,當我嘗試更新正在汽車用完整的地址(所以這裏只是門牌號和街名)的縮寫形式完成文本框。完整地址文本框中的值不會更改。我試過使用jquery,並在文本框中使用setAttribute()設置value屬性。我究竟做錯了什麼?
您能否顯示您的選項對象,您用來初始化自動填充的對象? 'autocomplete = new google.maps.places.Autocomplete(address,option);' – ElHacker
[只顯示google.maps.event.addListener()中的街道地址)的可能重複(http://stackoverflow.com/questions/ 13524258/show-just-the-street-address-in-google-maps-event-addlistener) –
添加了用於自動完成的選項變量。 – PleaseWork