[Урок 11] Подключаем навигационную карту к сайту
Всем привет! Для грамотного составления блока контактов нам нужно будет подключить карты с расположением нашего заведения (или другой нужной точки).
Тильда позволяет подключать и кастомизировать карты от Google и Yandex. Этим мы и займёмся в данном уроке. Открываем tilda и начинаем!
Ищем нужный блок
Открываем раздел со всеми блоками, переходим в раздел «Другое» (в самом конце странички) и ищем блок T143 — Карты Google или Yandex. Добавляем его на страницу.
Основные настройки блока
Сразу открываем настройки блока и видим уже похожие параметры. Пройдёмся по ним ещё раз :
Ширина — ширина карты, от 100% до растягивании по колонкам. Я оставлю 100%.
Высота — высота самой карты, здесь вы можете установить высоту карты в пикселях. Я поставлю 450px.
Стиль гугл карты — шаблонный стиль карты, который просто поменяет её вид. Можете попробовать каждый, устанавливайте тот, который вам больше понравится.
Язык интерфейса оставляем неизменным, а остальные параметры вам и так знакомы. Нажимаем «Сохранить и закрыть» и переходим к настройкам контента.
Кстати, вот так выглядит карта на странице в данный момент :
Настройки контента — подключение карты
Источники карт : Yandex и Google, соответственно. Теперь более детально.
Подключаем Google карты
2) Нажимаем «Создать проект»
3) Вводим данные в соответсвующие поля и создаём проект
4) На главной странице у вас появится несколько вариантов карт. Нам нужен Maps Javascript API — переходим в него
5) Нажимаем на кнопку «Включить»
6) Переходим во вкладку «Учётные данные» и нажимаем на ссылку «Создать»
7) Нажимаем «Создать ключ API»
8) Ключ API создан. Оставляем его здесь и нажимаем «Закрыть». Для корректной работы гугл карт и их аналитики нам понадобится ещё несколько настроек.
9) Нажимаем на редактирование ключа
10) Допустимый тип приложений — выбираем «HTTP источники перехода (веб сайт)».
11) Ограничения для веб сайтов. Нажимаем «Добавить элемент»
12) Вводим адрес нашего сайта. Можно тестовый домен (будет отображен, при нажатии на кнопку «Опубликовать» на тильде)
13) Допустимые API
Ставим «Применить ограничения для ключа». В списке ищем по поиску и выбираем Maps Javascript API.
14) Нажимаем «Сохранить».
15) В разделе «Общая информация» ищем окно «Оплата» и переходим к настройкам.
16) Создаём платёжный аккаунт (денег с вас никто не спишет, не переживайте).
17) Заполняем все нужные данные
Как добавить карту Google, Яндекс и 2ГИС на сайт: просто по шагам
Как вставить карту с магазином или офисом на сайт и как настроить lazy-loading для карты, чтобы она не тормозила загрузку. Обновленный материал.
Если у вашей компании есть адрес, куда приходят клиенты, вы можете лишний раз позаботиться о них. Избавьте пользователей от необходимости копировать адрес, открывать карты и искать, где вы находитесь.
На сайт можно вставить карту Google, Яндекс или 2ГИС с нужной меткой, чтобы пользователи могли сразу понять, куда им предстоит ехать. И дольше оставались на сайте, рассматривая карту и увеличивая время визита, что важно для поведенческих факторов и SEO.
В статье:
- Как создать карту для сайта:
- Карта Яндекс
- Карта Google
- Карта 2ГИС
Выбрать можно любую карту, какая вам больше нравится.
Как вставить Яндекс карту на сайт
Первый вариант: встроить Карту с уже существующей меткой
Откройте Яндекс.Карты, найдите компанию и скопируйте код для вставки:
- Найдите нужный адрес.
- В правом верхнем углу нажмите на кнопку с тремя точками, выберите Поделиться.
- Выберите виджет с картой и скопируйте код для вставки. Можете сначала включить предпросмотр, чтобы увидеть, как она будет выглядеть.
Второй вариант: создать свою метку

Создание карты пошагово:
- Найдите адрес, выберите цвет и вид маркера.
- Сохраните метку и добавьте еще адреса, если вы хотите отметить несколько филиалов.
- При желании добавьте линии и нарисуйте фигуры, чтобы сделать маршрут понятнее. Линии можно изменять по изгибам улиц.
- Сохраните карту. В следующем окне выберите ее вид: интерактивная или статическая.
- Интерактивная полезнее, ее можно двигать и масштабировать. Для вставки на сайт советуем ее.
- Статическая будет выглядеть как картинка, ее можно распечатывать.
- У кода iframe есть ограничения: пользователь не сможет переключать виды карты, то есть доступен только вид Схема, и она будет отображаться только на крупных масштабах.
- Код JavaScript можно модифицировать с помощью API: добавить панораму, маршруты, поиск. Чтобы они появились, нужно получить API-ключ в Кабинете разработчика для продукта «JavaScript API и HTTP Геокодер» и добавить его в код.
Интересное для работы с Яндексом:
Как попасть в колдунщикиКак вставить Google карту на сайт
Первый вариант: вставить карту из Google Maps с существующей меткой
Откройте Google Maps, найдите компанию и скопируйте код для вставки:

- Найдите компанию на картах, нажмите на «Поделиться».
- Нажмите «Встраивание карт» и выберите размер из предложенных или выберите «Другой размер» и укажите свои параметры.
- Скопируйте получившийся HTML-код и вставьте его в код своего сайта в то место, где вы хотите разместить карту.
Второй вариант: создать свою метку в Google Maps

Пошаговое создание метки на Google картах:
- Введите адрес или название компании.
- Укажите название, добавьте описание организации, фотографии, выберите цвет и стиль значка.
- Созданную карту вы можете посмотреть в Предпросмотре. Нажмите кнопку с тремя вертикальными точками и выберите «Добавить на сайт».
- Скопируйте полученный код и вставьте его в код страницы, куда вы хотите добавить карту.
Как вставить карту 2ГИС на сайт
Встроить карту через API
Установить интерактивную карту 2ГИС можно через JS API — это версия API для простых задач.

- Перейдите на страницу и выберите город.
- Найдите компанию по названию.
- Установите нужный размер карты в правом нижнем углу.
- Нажмите «Далее», прочитайте Лицензионное соглашение и примите условия.
- Нажмите «Получить код» и скопируйте его для вставки на сайт.
Это простая карта с готовой меткой, но можно сделать свою через Кjнструктор. Выручит, если вашей компании нет в 2ГИС.
Создать в Конструкторе карту со своими метками
В 2ГИС есть бесплатный Конструктор карт, с его помощью можно создать карту со своей разметкой — добавить метки, описания, отобразить маршруты, графически выделить области.
Пошагово как сделать карту в Конструкторе 2ГИС:

Минимизировать влияние карты на скорость загрузки страницы поможет отложенная или Lazy-load загрузка.
Загрузка карты по доскроллу до нее
Если карта находится внизу страницы далеко в футере или в поп-апе, можно настроить, чтобы она загружалась не сразу при переходе на страницу, а только когда пользователь до нее доскроллит.
Пользователь Хабра iefedorov для этого советует изменить код карты, который Google предлагает вставить на сайт.
Пример исходного кода:
Его нужно изменить вот так:
Браузер будет получать src = «», когда читателю понадобится карта.
Пошаговая настройка lazy-loading карты от Максима Васяновича (MaxGraph):

Расскажите в комментариях, как вы сделали карту для вашего сайта и как оптимизируете ее, чтобы она не сильно тормозила загрузку?
Как подключить карту Google
Посмотрите видеоурок о том, как добавить карту Google на страницу или прочитайте подробную инструкцию ниже.
Для подключения на сайте карты Google нужно получить ключ для JavaScript API и указать его в настройках блока с картой, а на стороне Google привязать платежную карту.
Чтобы начать работу в облачной консоли Google необходимо создать платежный аккаунт, если ранее он не был создан, и привязать банковскую карту. Для этого перейдите в раздел Billing:
https://console.cloud.google.com/billingНажмите «Create Account»
Укажите название аккаунта и страну
Заполните адрес и данные банковской карты
Откройте список проектов
Нажмите кнопку «New project»
Задайте имя проекта и нажмите «Create»При создании нового проекта появляется такое окно. Включите галочки и нажмите «Go to google maps platform»
После создания ключа API необходимо настроить ограничения для него. В поле «Select restriction type» выберите тип ограничения «HTTP referrers (web sites)»
Добавьте ссылку на сайт, где должна выводиться карта и нажмите «Restrict key»
Во вкладке Credentials напротив ключа нажмите на «. » (три точки) и выберите «Edit API key»
Добавьте ссылку https://tilda.cc/*, чтобы карта работала и в Редакторе Тильды. Нажмите «Save»
Если не добавить ссылку, то в Редакторе будет отображена ошибка.
Во вкладке Credentials нажмите «Show key»
Скопируйте ключПерейдите в Тильду, добавьте блок с картой (например, Т143, категория «Другое»), откройте меню «Контент», укажите полученный ключ в поле Google Map API Key, координаты адреса, сохраните и опубликуйте страницу.
Укажите ключ и нажмите «Сохранить»
Опубликуйте страницуВажный момент: После добавления ограничений и изменения названия ключа API, они вступят в силу в течение пяти минут, до этого можно увидеть ошибку как в режиме редактирования, так и на опубликованной странице.
Вывод точек на карте Яндекс. Интеграция с Яндекс Карты

Карта с точками выводится как специальный режим компонента таблицы (viewMode=yamap).
Внимание! Бесплатная версия Яндекс Карт имеет ограничения. Про тарифы и ограничения бесплатной версии — https://yandex.ru/dev/maps/commercial/
Множество интерактивных примеров от Яндекса, которые позволят лучше понять настройки отображения карт — https://yandex.ru/dev/maps/jsbox/2.1/icon_customImage
Вывод маркеров на Яндекс Карте
Для настройки карты необходимо сделать следующее:
1. Создаем таблицу без столбцов (столбцы можно будет добавить только в случае необходимости фильтров).
2. Прописываем GetItems
В SELECT 1 указываем точки
В SELECT 3 указываем viewType=yamap и yamapOptions
CREATE PROCEDURE [dbo].[crud_yamap_getItems] @filters CRUDFilterParameter READONLY, @sort sql_variant, @direction nvarchar(8), @page int, @pageSize int, @username nvarchar(32) AS BEGIN declare @points table (id int, lat float, lng float, hint nvarchar(max), draggable bit, body nvarchar(max), header nvarchar(max), footer nvarchar(max), preset nvarchar(128), icon nvarchar(max), iconCaption nvarchar(max), iconColor nvarchar(64), iconCaptionMaxWidth int, formCode nvarchar(64), formItemID int, formBig int, formTitle nvarchar(256), formBtnText nvarchar(64)) insert into @points select 1 id, 55.66 lat, 37.64 lng, 'hint1' hint1, 1 draggable, 'body1' body, 'header1' header, 'footer1' footer, '' preset, '' icon, '' iconCaption, '' iconColor, 200 iconCaptionMaxWidth , '' formCode, '0' formItemID, 0 formBig, '' formTitle, '' formBtnText union select 1 id, 55.46 lat, 37.84 lng, 'hint2' hint1, 1 draggable, 'body2' body, 'header2' header, 'footer2' footer, '' preset, '' icon, '' iconCaption, '' iconColor, 200 iconCaptionMaxWidth , '' formCode, '0' formItemID, 0 formBig, '' formTitle, '' formBtnText -- SELECT 1 select * from @points -- SELECT 2 select 1 -- SELECT 3 select 1 HideTitleCount, 'yamap' viewtype, '< "height": "600px", "key": "----------Наш ключ API----------------------------", "searchProvider": "yandex#search", "searchText": "", "showUserLocation": false, "mapParams": < "center": [53.76, 37.64], "zoom": 9 >, "clustererParams": < "preset": "islands#invertedGreenClusterIcons" >, "afterMoveMarkerRefreshContainer": "body" >' yamapOptions ENDSELECT 1 имеет следующие параметры:
- id — идентификатор (нужен для сохранения позиции при перемещении)
- lat lng — координаты маркера
- hint — подсказка при наведении
- draggable — если 1, то точку можно перемещать
- body, header, footer — вывод некой разметки во всплывающем окошке при клике на маркер.
- preset — настройка отображения вида значка, например twirl#redStretchyIcon. Все примеры — https://yandex.ru/dev/maps/jsapi/doc/2.1/ref/reference/option.presetStorage.html
- icon, iconCaption, iconColor, iconCaptionMaxWidth — вывод у иконки текста, подсказки, изменение цвета иконки и ограничение длины подсказки (обрезка длинных названий).
- formCode, formItemID, formBig, formTitle, formBtnText — если указан formCode, то при клике на маркер будет выводиться модальная форма с itemID = formItemID. Если formBig=1, то окно будет большое. Кнопка сохранения имеет текст formBtnText, заголовок модального окна будет formTitle.
SELECT 3 — Настройки yamapOptions
- key — ключ АПИ Яндекс Карт. Получать здесь — https://yandex.ru/dev/maps/jsapi/doc/2.1/quick-start/index.html#get-api-key
- height — высота контейнера с картой. По умолчанию 400px.
- searchProvider — если активирован поиск в mapParams.controls (по умолчанию активирован), то данный параметр влияет на какие объекты будут искаться через поиск.
- searchText — если задан текст, то при загрузке карты сработает автоматический поиск и отображение найденных объектов.
- showUserLocation — если true, то на карте будет отражен значок местонахождения текущего пользователя (при условии, что он разрешил геолокацию в браузере).
- mapParams — настройки компонента Яндекс Карты (все свойства описаны здесь — https://yandex.ru/dev/maps/jsapi/doc/2.1/ref/reference/Map.html)
- center — установка центра карты
- zoom — какой будет масштаб карты по умолчанию при загрузке
- controls — массив выводимых элементов управления на карте (по умолчанию выводятся все элементы. Если необходимо все скрыть — то передаем [])
Как сохранить значение координат при передвижении маркера по карте
У точек необходимо установить draggable = 1.
Также необходимо реализовать updateItemField у таблицы.
CREATE PROCEDURE [dbo].[crud_yamap_updateField] @itemID int, @field nvarchar(64), @value nvarchar(max), @username nvarchar(64) AS BEGIN print @itemID print @value print @field if(@field = 'marker') begin update t1 set lat = dbo.str_splitPart(@value, '||', 1), lng = dbo.str_splitPart(@value, '||', 2) where else begin select 'Невалидный код свойства' Msg, 0 Result return end select '' Msg, 1 Result ENDЧто передается на вход:
- в field приходит значение marker,
- value содержит координаты в виде lat||lng,
- itemID равно полю id из GetItems SELECT 1.
Falcon Space — функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
