23 октября 2017
Нет комментариев
В примере по адресу определяем район СПБ: Выборгский, Приморский и т.д.
Логика:
- Прямым геокодированием определяем координаты объекта.
- Обратным геокодированием с kind=district получаем район.
Подключаем api Яндекс:
<script src="//api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>
Input:
<input type="text" name="address" id="address"/>
JS:
ymaps.ready(init); function init(){ var suggestView=new ymaps.SuggestView('address'); suggestView.events.add('select',function(event){ var selected=event.get('item').value; ymaps.geocode(selected,{ results:1 }).then(function(res){ return ymaps.geocode(res.geoObjects.get(0).geometry.getCoordinates(),{ kind:'district', results:10 }).then(function(res){ var founded=res['metaData']['geocoder']['found']; $('label.suggest .description').html(""); for(i=0;i<=founded-1;i++){ var info=res.geoObjects.get(i).properties.getAll(); console.log(info); var name=info['name']; if(name.search('район')!=-1){ name=name.replace(' район',''); console.log(name); } } }); }); }); }