Клуб API Карт

Обратное геокодирование

Пост в архиве.

Сделал обратное геокодирование, как показано на примере:

api.yandex.ru/maps/doc/jsapi/2.x/examples/geocode-inverse.html

 

Прорблема в том, что при клике на дом, он указывает такой адрес:

Россия, Москва, Селезнёвская улица, Селезнёвская улица, 21/1

т.е. дважды повторяет название улицы


Что нужно поменять (если смотреть по данному примеру), чтобы адрес был такой:

Россия, Москва, Селезнёвская улица, 21/1

6 комментариев
Sergey Konstantinov
28 января 2016, 03:47
Не выводить имена всех найденных объектов, а ограничиться одним.

ну, как я понимаю, в данном случае 4 имени:

1) Россия

2) Москва

3) Селезневская улица

4) Селезнёвская улица, 21/1


и каким одинм именем я могу ограничиться?

если я правильно вас понял

берите всегда первый объект

в приведенном вами примере можно заменить

res.geoObjects.each(function (obj) {
    names.push(obj.properties.get('name'));
});
на
names.push(res.geoObjects.get(0)
.properties.get('name'));

так.. хорошо..


а что нужно указать здесь:

.properties.get('name'));

вместо name, чтобы понять, какой тип объекта? т.е. мне нужно отсечь вывод микрорайона

чтобы был адрес такой:

страна, область, город, улица, дом


иногда просто появляется название микрорайона, его надо отсечь 


.properties.getAll();

вернет тебе все данные.

спасибо! B-)