Клуб API Карт

Балун по улицам

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

Добрый день уважаемые!

 

Имею несколько вопросов, на которые не нашел ответов в документации и на форуме.

 

1) Как сделать привязку балуна при его создании непосредственно к улице

2) Как сделать возможность перетаскивать балун только по улицам

3) Как определить двусторонние движение улицы

3.1) Можно ли привязывать балун непосредственно к линии движения улицы (вот как пример, если взять слой с трафиком http://cl.ly/image/1J0j3s013M0E то будут показана линия движении по улице)

4) (geocode(myBalloon.geometry.getCoordinates()) - возвращает название улицы и Point, как получить geo обьект самой улицы?

5 комментариев

Балун видимо это метка?

Балуны в АПИ не перетаскиваются, только метки.

 

1) Не понял

2) В целом это сделать сложно (нужно корректировать координаты при перетаскивании)

3) через АПИ это сделать не получится

4) Геокодер не возвращает геометрию улицы (только точку центра и прямоугольную область ее охватывающую)

Constantin Slednev
28 января 2016, 00:59

Спасибо большое за ответы. Хочу внести некоторое пояснение.

1) Если рассмотреть карту на maps.yandex.ru можно увидить кнопку в верхнем правом углу "получить информацию". Если нажать на эту кнопку, а потом на какой либо пустырь вблизи какой либо улицы (например вот тут http://maps.yandex.ru/-/CVbhZ05R) то метка появиться непосредственно на улице. Как это реализовано ?

2) Как в таком случае получать информацию о улице?

3) Исходя из фунционала кнопки "получить информацию", при клике на улицу или рядом с ней улица выделяется линией (с эфектом fadeout). Как это реализовано (я про рисования линии) ?

 

Спасибо!

1. Это можно сделать с помощью обратного геокодирования с параметром kind=street

2. Вам нужно иметь свой граф дорог (геометрию всех улиц)

3. Это внутренний функционал сервиса maps.yandex.ru и через АПИ он не предоставляется

Constantin Slednev
28 января 2016, 00:59

1) Можете показать пример пожалуйста?

2) Где его взять? Боюсь будут расхождения

1) пример можно посмотреть в песочнице

Если в строке 44 добавить kind: 'street' и нажать обновить в правом окошке, будет работать так как надо

ymaps.geocode(coords, { kind: 'street' }).then(function (res) {

2) Не знаю, может из OSM можно экспортировать