Google Places Autocomplete-API Mehrere Instanzen
Ich hab ein problem mit meiner Website. Ich benutze AutoVervollständigen zu finden, die lat-long-eine Adresse ist, bevor Sie zu einem Formular. Das problem ist, auf der Seite wo ich 2 Instanzen, bekomme ich eine Fehlermeldung in Chrome "'geometrie' ist null oder kein Objekt" und die erste Instanz nicht erhalten 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]);
});
}
Hat jemand in diesem vor?
Cheers,
RJ
EDIT: Problem gefunden. Es war die Variablen den gleichen Namen. Ändern Sie auf der zweiten Instanz sortiert.
Cheers,
RJ
- Wenn Sie schon gefunden, das problem, löschen Sie entweder die Frage oder post eine Antwort und es akzeptieren, so dass wir nicht unsere Zeit verschwenden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Problem gefunden. Es war die Variablen den gleichen Namen. Ändern Sie auf der zweiten Instanz sortiert.
Ich weiß nicht, ob dies der beste Weg, um dieses problem zu lösen, aber ich habe es getan:
Hoffe, dies hilft Ihnen,
Beste Grüße
window[prefix+"autocomplete"]
Und natürlich, Sie müssen initiieren, zweimal, entweder über jQuery oder onload();