Клуб API Карт

Как получить имя ближайшей улицы к точке?

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

Здрасти!

Не подскажите как получить имя ближайшей к точке улице? После её установки пользователем...

 

 

 

====================

<script type="text/javascript">
ymaps.ready(init);

function init () {
var myMap = new ymaps.Map('map', {
center: [45.050441,39.019676],
zoom: 12,
});

myMap.events.add("click",
function(e) {
var myGeocoder = ymaps.geocode(e.get("coordPosition"));
myGeocoder.then(
function (res) {
//как бы здесь получить название улицы?
},
function (err) {
// обработка ошибки
}
)

var placemark = new ymaps.Placemark(e.get("coordPosition"), {
balloonContent: '<img src="http://img-fotki.yandex.ru/get/6114/82599242.2d6/0_88b97_ec425cf5_M" />',
iconContent: e.get("coordPosition")
}, {
preset: "twirl#yellowStretchyIcon",
balloonCloseButton: false,
hideIconOnBalloonOpen: false
});
myMap.geoObjects.add(placemark);
}
);
}
</script>

====================

 

 

API 2.0 

Перечитал тут всё, но так и не понял... 

8 комментариев
Sergey Konstantinov
28 января 2016, 03:51
ymaps.geocode(координаты, { kind: 'street' }).then(function (res) {
   var nearestStreet = res.geoObjects.get(0);
   // do something
});

Спасибо за ответ!!

Но у меня почему то не сработало =(

в переменную nearestStreet должно в данном случае занестись название улицы?

Выводит [object Object] =)

 

nearestStreet это геообъект, используйте его методы для доступа к данным

 

var nearestStreet = res.geoObjects.get(0),

      nearestStreetName = nearestStreet.properties.get('text');



ОГРОМНОЕ СПАСИБО!

 

Можно еще вопрос... почему не создается сразу круг (радиус) возле метки?

 

Код:

var circle = new ymaps.geometry.Circle(e.get("coordPosition"), 10);

circle.setRadius(10); 

 

Этого не достаточно? 

 

http://api.yandex.ru/maps/doc/jsapi/2.x/ref/reference/geometry.Circle.xml

 

Здесь именно такой пример... 

это пример вызова конструктора геометрии круга, но не самого оверлея

см. этот пример 

ОГРОМНОЕ СПАСИБО!

И если можно 2 вопроса...

 1. Возможно ли изменять радиус круга динамически (пользователем) путем движения мыши?  Я читал здесь в одной теме, что нет... Есть метод редактирования, но я так понял он не для круга...

 2. Присваивается ли геобъектам какой то ID, по которому их потом можно удалить? Или им служит только имя переменной?

1. Возможно ли изменять радиус круга динамически (пользователем) путем движения мыши?  Я читал здесь в одной теме, что нет... Есть метод редактирования, но я так понял он не для круга...
 

Попробуйте, судя по документации у экземпляра круга есть поле editor

2. Присваивается ли геобъектам какой то ID, по которому их потом можно удалить? Или им служит только имя переменной?

да, можно хранить ссылку или добавить любое поле в объект properties и положить элемент в коллекцию, из которой его можно отфильровать по этому полю. 

 

 

с редактированием не вышло =(

всё равно спасибо большое!