我想將Google地理編碼服務添加到網頁,並遇到一些JavaScript麻煩。當我添加下面的代碼沒有jQuery時,我收到空引用錯誤,但仍可以偶爾使服務工作。根據我正在閱讀的內容,它是在元素加載之前運行的JS,我可以將此JS包裝到一個jQuery函數中來解決問題。但是,當我添加我的代碼如下,這是錯誤仍然彈出,我不能讓服務運行。我的jQuery語法中是否有不正確的東西?我對JS很新。謝謝。帶Google Maps API的jQuery文檔就緒函數語法
「的JavaScript運行時錯誤:無法獲取的未定義或空引用財產‘的addListener’」
<script type="text/javascript">
$(document).ready(function(){
google.maps.event.addDomListener(window, 'load', initialize);
function initialize() {
var autocomplete = new google.maps.places.Autocomplete(document.getElementById('PostalCodeID'));
google.maps.evenet.addListener(autocomplete, 'place_changed', function() {
var places = autocomplete.getplace();
var location = "<b>Location:</b>" + places.formatted_address + "<br/>";
location += "<b>Latitude:</b>" + places.geometry.location.A + "<br/>";
location += "<b>Longitude:</b>" + places.geometry.location.F + "<br/>";
document.getElementById('lblresult').innerHTML = location
});
};
});
</script>
如果您將代碼放入「ready」處理程序(反之亦然),我認爲您不需要安裝「加載」偵聽程序。你只需要做一個。 – Pointy
也應該是'google.maps.event'而不是'evenet'。這就是錯誤告訴你的。 – Pointy
我相信我需要它來加載服務。當我將它註釋掉並運行代碼時,它看起來不像服務可用。我說,因爲當它沒有被註釋掉時,文本框顯示'請輸入一個位置'。我做了一個似乎擺脫JS運行時錯誤的更新,但現在服務沒有返回地址。幾乎就像我需要添加一個事件。感謝您的答覆。 – AndrewC10