autocompleteOptions = { types: ['address'] // 'address' oblige des adresses précises, '(cities)' des villes, etc, voir ici: https://developers.google.com/places/supported_types // pour autoriser uniquement des villes et des CP, utiliser ['locality','postal_code','administrative_area_level_3'] }; monAutocomplete = new google.maps.places.Autocomplete(document.getElementById('mon-autocomplete'),autocompleteOptions); monAutocomplete.addListener('place_changed',function() { var place = monAutocomplete.getPlace(); if (!place.geometry) { alert("Erreur ! Sélectionnez une adresse."); } else { var lat = place.geometry.location.lat(); var lng = place.geometry.location.lng(); var etablissement = ''; var numero = ''; var rue = ''; var cp = ''; var ville = place.vicinity; var departement = ''; var departement_code = ''; var region = ''; var region_code = ''; var pays = ''; var pays_code = ''; $.each(place.address_components,function(key,address_component) { $.each(address_component.types,function(key,type) { if (type=='street_number') { numero = address_component.long_name; } else if (type=='route') { rue = address_component.long_name; } else if (type=='locality') { ville = address_component.long_name; } else if (type=='postal_code') { cp = address_component.long_name; } else if (type=='administrative_area_level_2') { departement = address_component.long_name; departement_code = address_component.short_name; } else if (type=='administrative_area_level_1') { region = address_component.long_name; region_code = address_component.short_name; } else if (type=='country') { pays = address_component.long_name; pays_code = address_component.short_name; } }); }); if (departement_code && departement_code==departement && cp) departement_code = (''+cp).substr(0,2); if (place.types) { $.each(place.types,function(i,type) { if (type=='establishment') etablissement = place.name; }); } // ICI FAIRE CE QU'ON VEUT DES DONNÉES } });