Автодополнение
Отображение кнопок в профиле организации является обязательным требованием использования API 2ГИС.
Название | Когда показываем | Шаблон URL |
---|---|---|
Маршрут до | Есть “point”:{“lon”,“lat”} | https://2gis.ru/city/{{ project_id }}/center/{{ lon }}%2C{{ lat }}/zoom/17/routeTab/to/{{ lon }}%2C{{ lat }}%E2%95%8E{{ name|url_encode }}? |
Маршрут от | Есть “point”:{“lon”,“lat”} | https://2gis.ru/city/{{ project_id }}/center/{{ lon }}%2C{{ lat }}/zoom/17/routeTab/from/{{ lon }}%2C{{ lat }}%E2%95%8E{{ name|url_encode }}?utm_source=profile&utm_medium=route_from&utm_campaign=partnerapi |
Найти вход | Есть “point”:{“lon”,“lat”} | https://2gis.ru/city/{{ project_id }}/firm/{{ id }}/entrance/center/{{ lon }}%2C{{ lat }}/zoom/17?utm_source=profile&utm_medium=entrance&utm_campaign=partnerapi |
Фотографии | Есть “flags”:{“photos”} и его значение true | https://2gis.ru/city/{{ project_id }}/firm/{{ id }}/photos/{{ id }}/center/{{ lon }}%2C{{ lat }}/zoom/17?utm_source=profile&utm_medium=photo&utm_campaign=partnerapi |
Отзывы | Всегда | https://2gis.ru/city/{{ project_id }}/firm/{{ id }}?utm_source=profile&utm_medium=review&utm_campaign=partnerapi |
Услуги и цены | Есть в “external_content”: [{“url”,“type”}] , type принимает значение “booklet” | {{ url }}?utm_source=profile&utm_medium=booklet&utm_campaign=partnerapi |
Используя bootstrap и twig, мы получим следующий шаблон:
<div class="container"> {% set baseUrl = "https://2gis.ru/city/{#project_id}" %} {% set centerPart = "center/{#lon}%2C{#lat}/zoom/17" %} {% set booklet_url = "" %} {% for external_content in content %} {% if content.type == "booklet" %} {% set booklet_url = content.url %} {% endif %} {% endfor %} <div class="btn-group" role="group" aria-label="..."> <a target="_blank" class="btn btn-default" href="{{ baseUrl }}/{{ centerPart }}/routeTab/from/{{ point.lon }}%2C{{ point.lat }}%E2%95%8E{{ name|url_encode|replace({'/', '\xA6'}) }}?utm_source=profile&utm_medium=route_from&utm_campaign=partnerapi" role="button" title="Проезд на автомобиле или общественном транспорте от {{ name }}"> <span class="glyphicon glyphicon-road" aria-hidden="true"></span> Маршрут от </a> <a target="_blank" class="btn btn-default" href="{{ baseUrl }}/{{ centerPart }}/routeTab/to/{{ point.lon }}%2C{{ point.lat }}%E2%95%8E{{ name|url_encode|replace({'/', '\xA6'}) }}?utm_source=profile&utm_medium=route_to&utm_campaign=partnerapi" role="button" title="Проезд на автомобиле или общественном транспорте до {{ name }}">до</a> </div> {% if flags.photos %} <a target="_blank" class="btn btn-default" href="{{ baseUrl }}/firm/{{ id }}/photos/{{ id }}/{{ centerPart }}?utm_source=profile&utm_medium=photo&utm_campaign=partnerapi" role="button" title="Фотографии услуг и продукции {{ name }}"> <span class="glyphicon glyphicon-camera" aria-hidden="true"></span> Посмотреть фотографии </a> {% endif %} {% if booklet_url %} <a target="_blank" class="btn btn-default" href="{{ booklet_url }}?utm_source=profile&utm_medium=booklet&utm_campaign=partnerapi" role="button" title="Посмотреть список товаров, услуг и цен фирмы {{ name }}"> <span class="glyphicon glyphicon-shopping-cart" aria-hidden="true"></span> Услуги и цены </a> {% endif %} <a target="_blank" class="btn btn-default" href="{{ baseUrl }}/firm/{{ id }}/entrance/{{ centerPart }}?utm_source=profile&utm_medium=entrance&utm_campaign=partnerapi" role="button" title="Вход в организацию {{ name }}"> <span class="glyphicon glyphicon-home" aria-hidden="true"></span> Найти вход </a> </div>
Например, для фирмы Венеция (141266769589326)
Получаем ответ API и формируем вот такой набор кнопок: