Autocomplete Google Cannot read property 'address_components'
Fermé
ryuzaki3698
Messages postés22Date d'inscriptionmardi 26 février 2013StatutMembreDernière intervention25 janvier 2021
-
Modifié le 9 nov. 2018 à 17:09
Bonjour,
J'ai un problème depuis plusieurs jours et ce serait super si quelqu'un avait un indice à me donner.
Si je n'initialise pas l'autocomplete dans initAutocomplete() mais que je le met dans un onkeypress comme suit :
(Je vérifie si la permission de gélocalisation est activé, si oui je geolocalise et j'initialise l'objet autocomplete, si non, j'attend qu'il y est 6 caractères dans le champs texte et après j'initialise l'objet autocomplete)
function autocompletePlus() {
navigator.permissions && navigator.permissions.query({name: 'geolocation'}).then(function(PermissionStatus) {
if (PermissionStatus.state == 'granted') {
autocomplete = new google.maps.places.Autocomplete(
/** @type {!HTMLInputElement} */(document.getElementById('autocomplete')),
{types: ['geocode']});
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var geolocation = {
lat: position.coords.latitude,
lng: position.coords.longitude
};
var circle = new google.maps.Circle({
center: geolocation,
radius: position.coords.accuracy
});
autocomplete.setBounds(circle.getBounds());
});
}
// When the user selects an address from the dropdown, populate the address
// fields in the form.
autocomplete.addListener('place_changed', fillInAddress);
} else {
var valAdresse = $("#autocomplete").val().length;
if (valAdresse > 6) {
// Create the autocomplete object, restricting the search to geographical
// location types.
autocomplete = new google.maps.places.Autocomplete(
/** @type {!HTMLInputElement} */(document.getElementById('autocomplete')),
{types: ['geocode']});
// When the user selects an address from the dropdown, populate the address
// fields in the form.
autocomplete.addListener('place_changed', fillInAddress);
}
}
});
}
EDIT : Correction des balises de code
Lorsque je clique sur une suggestion d'adresse, la fonction fillInAddress() qui replace les info dans les bon input me sort cette erreur : "Cannot read property 'address_components' of undefined".
PS : Si j'initialise l'objet autocomplete dans initAutocomplete() et que j'enlève autocompletePlus() (qui est appelé par un onkeypress) tous marche.
Merci d'avance si quelqu'un à une idée.
A voir également:
Autocomplete Google Cannot read property 'address_components'