2016-03-07 89 views
0

在用戶選擇Google地址列表後,我試圖運行功能。我嘗試了onBlur,但是在用戶選擇地址給我一個不完整的地址之前,這個動作會被觸發。Google地圖自動完成後啓動功能

我閱讀這些主題:

How to fire place_changed event for Google places auto-complete on Enter key

Google Places API - place_changed listener not working

Events other than 'place_changed' for Google Maps Autocomplete

我試着用place_changed但我仍不能得到運行我的功能。

HTML

<html> 

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">  
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=EDITED(MY KEY)&libraries=places"></script><script src="mapa.js" language="Javascript" type="text/javascript"></script> 
<script type="text/javascript" src="jquery-ui.custom.min.js"></script> 
<script type="text/javascript" src="jquery.min.js"></script> 

</head> 

<body> 


      <input type="text" name="street" id="0" onFocus="autoComplete(this);"> 


</body> 
</html> 

的JavaScript

function autoComplete(adress) 
{ 

    var input = document.getElementById(adress.id); 
    var options = { componentRestrictions: { 
     country: 'fr' 

    }}; 

    new google.maps.places.Autocomplete(input, options); 

    google.maps.event.addListener(gmaps, 'place_changed', function() { 
     getPlace(adress); 
    }); 

} 

function getPlace(adress) 
{ 
    alert(adress.value); 
} 

什麼我失蹤?

有沒有辦法讓onBluronChange只在用戶選擇自動完成列表中的東西后觸發?這對我的問題會是一個更好的解決方案。

任何幫助表示讚賞。

+0

你是如何包含API的?你是否包括地方圖書館?請提供證明您的問題的[最小,完整,測試和可讀示例](http://stackoverflow.com/help/mcve)。 – geocodezip

+0

抱歉,地理編碼。我編輯了整個代碼到我的問題。爲了安全,我編輯了我的Google密鑰。 – Adrian

回答

0

好吧,我看到我失蹤了。

new google.maps.places.Autocomplete(input, options);我不得不把它保存在像gmaps = new google.maps.places.Autocomplete(input, options);一個變量,然後調用它的監聽器:

google.maps.event.addListener(gmaps, 'place_changed', function() { 
    getPlace(adress); 
}); 

新手的錯誤。