rAthus icon

[Maps Place Autocomplete] récupérer toutes les infos

rAthus | PRO | 12/12/22 01:34:00 PM UTC (Edited) | 0 ⭐ | 743 👁️ | Never ⏰ | []
JavaScript |

2.12 KB

|

None

|

0 👍

/

0 👎

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
    }
});

Comments