サイトに問題があります。フォームに送信する前に、オートコンプリートを使用して住所の緯度を検索します。問題は、2つのインスタンスがあるページで、Chromeで「'geometry'がnullであるか、オブジェクトではありません」というエラーが発生し、最初のインスタンスがlatlonを取得しないことです。
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
編集:問題が見つかりました。同じ名前の変数でした。2番目のインスタンスでそれらを変更すると、ソートされます。
乾杯、RJ