我的網站有問題。在提交表單之前,我使用自動完成來查找地址的經緯度。問題是,在我有2個實例的頁面上,我在Chrome中得到一個錯誤「'geometry'爲空或不是對象」,第一個實例不會得到latlon。Google商家自動填充API多實例
if($('input#searchArea').length){
var input = document.getElementById('searchArea');
var options = {
componentRestrictions: {country: 'uk'}
}
var autocomplete = new google.maps.places.Autocomplete(input, options);
google.maps.event.addListener(autocomplete, 'place_changed', function(){
var place = autocomplete.getPlace();
var location = String(place.geometry.location); // The problemed line
var latLong = location.substr(1, location.length-2);
latLong = latLong.split(', ');
if($('input#searchLatLong').length == 0) $('form#findArea').append('<input type="hidden" name="ll" id="searchLatLong" />');
$('input#searchLatLong').val(latLong[0] + ',' + latLong[1]);
});
}
if($('input#letArea').length){
var input = document.getElementById('letArea');
var options = {
componentRestrictions: {country: 'uk'}
}
autocomplete = new google.maps.places.Autocomplete(input, options);
google.maps.event.addListener(autocomplete, 'place_changed', function(){
var place = autocomplete.getPlace();
var location = String(place.geometry.location);
var latLong = location.substr(1, location.length-2);
latLong = latLong.split(', ');
if($('input#letLatLong').length == 0) $('form#letPlaceArea').append('<input type="hidden" name="ll" id="letLatLong" />');
$('input#letLatLong').val(latLong[0] + ',' + latLong[1]);
});
}
有沒有人遇到過這個?
乾杯, RJ
編輯:發現問題。這是變量命名相同。在第二個實例上更改它們將其排序。
乾杯, RJ
如果您已經發現問題,請刪除問題或發佈答案並接受答案,以免我們浪費時間。 – Marcelo