вторник, 11 декабря 2018 г.

Получение района города по координатам

Недавно нужно было сделать получение районов города с использованием сервиса подсказок. 
В качестве сервиса подсказок был выбран Dadata, но оказалось, что для городов с населением менее 500 тысяч человек районов нет. 
В нашем же случае эту проблему надо было решить ибо в зависимости от района получалась стоимость доставки.

Данное дело решили следующим скриптом из интернетов.
Скрипт как обычно лежит тут чтобы тупо не потерять.

ymaps.ready(function(){

    var map = new ymaps.Map("YMapsID", {
     center: [56.003392106949214,92.87423316125034],
     zoom: 11,
     controls: []
 });
    
    var coords = [55.985861,93.013837];
    
    var placemark = new ymaps.Placemark(
         coords,
         { },
         {
             preset: 'islands#circleDotIcon',
             iconColor: 'blue'
         }
 );
 map.geoObjects.add(placemark);
    
    var myGeocoder2 = ymaps.geocode(coords, { kind:'district' });
    myGeocoder2.then(
        function (res2) {
            var district = res2.geoObjects.get(0).properties.get('name');

            //console.log(res2.geoObjects.get(0).properties.getAll())

            $("#district").val(district);
        }
    );

});

Комментариев нет: