Skip to content

Instantly share code, notes, and snippets.

@sanks
Last active April 2, 2021 07:44
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sanks/983e44c499f36e803350 to your computer and use it in GitHub Desktop.
Save sanks/983e44c499f36e803350 to your computer and use it in GitHub Desktop.
Getting user region and city with Yandex.Maps API
ymaps.ready(function () {
ymaps.geolocation.get({ provider: 'yandex' }).then(function(result) {
var data = result.geoObjects.get(0).properties.get('metaDataProperty').GeocoderMetaData;
var administrativeAreaName = data.AddressDetails.Country.AdministrativeArea.AdministrativeAreaName; // region
if ('SubAdministrativeArea' in data.AddressDetails.Country.AdministrativeArea) {
var localityName = data.AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.LocalityName; // city
} else {
var localityName = data.AddressDetails.Country.AdministrativeArea.Locality.LocalityName; // city
}
});
});
@agoalofalife
Copy link

я бы еще добавил проверку

    var data =result.geoObjects.get(0).properties.get('metaDataProperty').GeocoderMetaData.AddressDetails.Country.AdministrativeArea;
            var city = '';
            if ('SubAdministrativeArea' in data) {
              city = data.SubAdministrativeArea.Locality.LocalityName; // city
            } else if(data.Locality) {
              city = data.Locality.LocalityName;
            } else {
              city = data.AdministrativeAreaName;
            }

она нужна например для Москвы, ее моно получить только так data.AdministrativeAreaName;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment