Клуб API Карт

Удивительная кнопка "Открыть в Яндекс.Картах"

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

Недавно в API Карт было внесено изменение: добавлена кнопка "Открыть в Яндекс.Картах" в левом нижнем углу карты. По этой кнопке открывается карта на странице Яндекса в той точке, в которой она была открыта на стороннем сайте, но при этом на ней не отображаются объекты, которые были на сайте-источнике.

При этом обычно Карты используются  на сайтах именно для отображения объектов, а из-за этой кнопки падает юзабилити сайта: мы пользователю даём кнопку с названием "Открыть в Яндекс.Картах", а по этой кнопке он получает совершенно иную карту - пустую. Очевидно, это не то, что пользователь собирался увидеть.

К примеру (мой случай):

Есть сайт, агрегирующий цены на полиграфические услуги. Пользователь зашел, к примеру, на страницу поиска цен на печать фотографий , завёл какие-то параметры и получил в ответ цены на фотопечать в своём городе - на карте.

Далее он видит на карте кнопку "Открыть в Яндекс.Картах". Логично предположить, что перейдя по этой кнопке, он ожидает увидеть ту же информацию, только на сайте Яндекс.Карт.

Но не тут-то было: перейдя по кнопке, он видит пустую карту.

 

Я могу ошибаться, но, по-моему, такая кнопка на любом сайте будет вводить пользователя в заблуждение: большинство сайтов используют Карты в разделе "Контакты": когда пользователь просматривает карту с контактами (метками на карте) и видит нашу кнопку, то переходя по ней он, вероятнее всего, будет руководствоваться желанием посмотреть пробки от своего метоположения до адреса метки или еще что-то связанное именно с этими метками, но, открыв карту, он не увидит главного - тех самых меток, которые были на сайте-источнике.

 

Описанным выше мне хотелось бы убедить Вас либо убрать эту кнопку из дефолтных настроек API, так как в большинстве случаев (то есть для большинства сайтов, использующих API) эта кнопка вводит пользователя в заблужение и снижает юзабилити карт, а ведь именно за юзабилити сервисов борются как Яндекс, так и большинство остальных сайтов =), либо (что, понятно, сложнее - зато намного круче) передавать объекты карты на сайте-источнике в открываемую карту на сайте Яндекс.Карт.

 

И еще просьба: напишите, пожалуйста, как эту кнопку убрать в конструкторе объекта (.Map) для версии 2.1.5.

 

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

С тем, как убрать кнопку разобрался: точно так же, как и в актуальной версии 2.1.27 (описано здесь).

Не ожидал встретить функциональность новой версии в старой. Не понимаю, зачем вносить подобные изменения в прежние версии? Ведь версионность нужна, чтобы всё, что написано раньше, работало! А если старая версия всё равно после очередных обновлений начинает работать неправильно, то проще гнать все изменения в одну версию. 

 

Sergey Konstantinov
27 января 2016, 22:36
> При этом обычно Карты используются  на сайтах именно для отображения объектов, а из-за этой кнопки падает юзабилити сайта: мы пользователю даём кнопку с названием "Открыть в Яндекс.Картах", а по этой кнопке он получает совершенно иную карту - пустую.

Нет, не пустую. Он увидит карту с тем же поисковым запросом, карточкой объекта из поиска или построенным маршрутом, что и на оригинальной карте (если они были).

> Очевидно, это не то, что пользователь собирался увидеть.

Нет, это не очевидно. Основной кейс использования этой кнопки — посмотреть это место в интерфейсе Яндекс.Карт. Если пользователь ей пользуется — значит, в интерфейсе вашего сайта он решить свою проблему не может (маленький размер карты, нет возможности построить машрут, хочет посмотреть панорамы, etc). Обращения пользователей в саппорт Карт мы отслеживаем, на данный момент жалоб «я увидел не то что ожидал» нет.

Вы совершенно правы — мы стремимся сделать конечному пользователю хорошо. Объективная реальность такова, что вебмастер, размещающий карту в разделе «Контакты», абсолютно не задумывается, как пользователю, например, доехать до показанного на карте места.

Передавать данные открываемой карты на maps.yandex.ru мы не будем, поскольку как раз тогда недобросовестный вебмастер и сможет ввести пользователя в заблуждение, показав ему недостоверный текст в интерфейсе maps.yandex.ru. Прокидываться по этой ссылке будут только стандартные объекты, которые можно на maps.yandex.ru и увидеть — результаты поиска, карточка организации, маршруты.

>  Не понимаю, зачем вносить подобные изменения в прежние версии?

Мы удаляем старые минорные версии API, как правило, примерно через год после релиза. Если вебмастер в течение года не обновляет свой сайт — то именно для пользователей этого сайта мы и сделали эту функциональность.

Простите меня за прямоту, но ответы меня не убедили. Я понимаю, что убеждать кого-бы то ни было - не Ваша задача, но г-н Волош на днях в Питере говорил о том, что задача развития для Яндекс является основной. Поэтому, надеясь всё-таки быть услышанным, всё же отвечу Вам.

1. Разработчик не может использовать повсеместно поисковые запросы на Картах из-за ограничений Яндекса по их количеству. Возьмите сайт из приведенного мною примера: на одной странице до 30 адресов с ценами, эти страницы просматриватриваются до 3000 раз в сутки, а проект находится только в стадии развития. Ни один разработчик не сможет сдать подобный проект, построенный на основе поисковых запросов Карт. Да, есть заявленная возможность увеличения лимита запросов, но тут сразу 2 "но": во-первых, нет гарантий, что запрос будет одобрен Яндексом с тем лимитом, который с гарантией перекроет объем трафика, а во-вторых, возрастёт совершенно пустая нагрузка на сервис Карт, да и сайт будет работать медленнее. Существующие возможности кэширования здесь проблемы решить не могут.

2. Второй Ваш комментарий. Я привожу Вам пример, когда переход по кнопке явно вводит пользователя в заблуждение, если есть работающий вариант избежать этого - буду благодарен за совет. Вы же говорите о том, что есть "основной кейс использования кнопки". А что с другими кейсами? Я бы не стал писать об этом, если бы не видел, что большинство крупных компаний, имеющих множетво офисов или иных объектов на карте, пользуются не Яндекс.картами (а понятно, чьими). Лично я хочу работать, по возможности, с российской компанией (не потому, что я патриот, нет, просто я понимаю, что у гугла и так будет всё хорошо, но мне бы хотелось, чтобы он не был единственным хотя бы на нашем рынке; кроме того, мне близки заявленные ценности Яндекса). Я вижу, что для сервиса Я.Карты важно стать удобным инструментом не только для тех, кому нужно показать пару офисов в разделе "Контакты" (хотя бы потому, что иначе Вы бы не создавали API, так ведь?). Конечно, тут дело не в кнопке, о которой тут речь, но видимые мне ценности Яндекса расходятся с парадигмой подхода, понятного из Вашей фразы "основной кейс использования этой кнопки...".

Если не углубляться, то можно перефразировать этот пункт: либо мой кейс является уникальным, либо Вы игнорируете не только меня =)

3. По поводу "Мы удаляем старые минорные версии API, как правило, примерно через год...": я ставил последнюю версию API в ноябре 2014 года - в тот момент такой версией была 2.1.5. Возможно, я тогда что-то перепутал, но возможно это как-то проверить, есть ли график выхода версий?

Sergey Konstantinov
27 января 2016, 22:36
1. Кэширование на сервере решает вашу проблему.
2. Если вы считаете, что ваш кейс уникален — отключайте кнопку, мы специально оставили для этого опцию.
3. Версия 2.1.5 вышла 11 февраля 2014 года
https://tech.yandex.ru/maps/doc/jsapi/2.1/versions/concepts/index-docpage/

К сожалению, эта кнопка размещена также и на кастомных картах, где эту же точку невозможно открыть в Яндекс.Картах. То есть в картах, где нет вообще слоя Яндекса.

Sergey Konstantinov
27 января 2016, 22:36
Ну так а что, может кому-то интересно, что на сейчас на этом месте ;)
Андрей Ломовой
12 апреля 2016, 23:33
Sergey Konstantinov,
>Нет, не пустую. Он увидит карту с тем же поисковым запросом, карточкой объекта из поиска или построенным маршрутом, что и на оригинальной карте (если они были).

>карточкой объекта из поиска

Как сделать так, что бы при клике на "Посмотреть на яндекс картах" он видел карточку объекта нашей организации?
Андрей Ломовой,
Здравствуйте, начиная с версии API 2.1.35, появился умный блок "Открыть в Яндекс.Картах", который передает состояние карты при переходе на yandex.ru/maps/.
Если перед кликом по блоку на карте была открыта карточка организации - она автоматически откроется на Яндекс.Картах. Можете попробовать в нашей песочнице: https://tech.yandex.ru/maps/jsbox/2.1/search_control_ppo

ссылка на то как убрать эту кнопку, не работает(

Все просто: достаточно добавить {suppressMapOpenBlock: true} в конструктор объекта.

Как-то так:

var myMap = new ymaps.Map("map_div", {
        center: [...],
        zoom: 10,
        controls: ["zoomControl", "typeSelector", "geolocationControl",  "fullscreenControl"],
        behaviors: ["default", "scrollZoom"]
      }, {suppressMapOpenBlock: true}

);