Как вставить виджет карты на любой сайт
Соберите код один раз: введите адрес в конструкторе карты, перетащите метку точно на ваш вход и скопируйте одну строку iframe — она работает на любой платформе, где есть блок HTML или встраивания. В WordPress можно вместо этого установить плагин и использовать шорткод. В обоих случаях не нужны ни API-ключ, ни платёжный аккаунт, ни куки. Метка никогда не сместится: во встраиваемый код записаны ваши финальные координаты, а не повторное геокодирование адреса.
С разрешения · Конфиденциально · Работает в Chrome, Safari, Firefox, Edge
Начните в конструкторе (это вся основная работа)
Всё начинается в конструкторе карты. Геокодирование выполняется один раз, там — в скопированный код записаны фиксированные координаты, поэтому сбой геокодера или «нормализация адреса» уже не сдвинут вашу метку. Введите адрес, дождитесь появления метки и перетащите её на настоящий вход перед копированием: эти десять секунд отличают «нужную улицу» от «нужной двери».
Хотите сначала посмотреть готовую настройку с несколькими филиалами? Откройте демо конструктора — в нём загружается пример компании с тремя филиалами: адреса, цветные нумерованные метки и панель мест прямо в предпросмотре, всё можно потрогать.
WordPress: шорткод плагина или чистый iframe?
Оба пути дают одинаковый виджет — выбирайте по вкусу.
Через плагин (рекомендуем): скачайте whatismylocation-widget.zip → wp-admin ▸ Плагины ▸ Добавить новый ▸ Загрузить плагин → Активировать. Затем добавьте блок Шорткод:
[whatismylocation_map lat="48.858400" lng="2.294500" name="Acme SARL" address="Champ de Mars, Paris"]
Атрибуты повторяют параметры конструктора: theme, marker, zoom, height, directions, а для филиалов — pins="lat,lng,Label~Address|…" вместе с panel= и motion= (см. таблицу ниже). Раздел WordPress в конструкторе сам собирает полный шорткод — печатать ничего не нужно.
Без плагина: вставьте iframe из конструктора в блок Произвольный HTML. Виджет тот же, обновлять плагин не нужно; минус — более длинный код в содержимом и невозможность потом править атрибуты.
Squarespace, Shopify, Notion — и все остальные
Вне WordPress обычно хватает одной вставки: добавьте элемент HTML или встраивания вашей платформы (Wix Embed HTML, блок Code в Squarespace, Embed в Webflow) и вставьте туда iframe. Одно отличие делает виджет карты проще, чем виджет местоположения: ему не нужен атрибут allow="geolocation", ведь он ничего не спрашивает у посетителей — значит, нет и хрупкой детали, которую надо сохранить, когда конструктор страниц переписывает ваш HTML.
Squarespace: добавьте блок Code и вставьте код. Одна деталь, о которой лучше знать заранее: блоки Code доступны только на тарифе Business и выше — на тарифе Personal блок покажет ваш код обычным текстом вместо готового виджета.
Shopify заслуживает большего, чем простая вставка: у нас есть готовая секция темы — один файл в теме даёт нативную панель настроек, где филиалы становятся блоками с перетаскиванием, без приложения и без API-ключа.
Notion и Google Sites встраивают по URL, а не по HTML. Код iframe они вообще не примут — вместо этого нажмите Copy widget URL в конструкторе и вставьте ссылку в блок /embed в Notion или в Embed ▸ By URL в Google Sites. Виджет — это полноценная отдельная страница, поэтому в обоих случаях он отображается корректно.
Salesforce Experience Cloud (публичные сайты сообществ): вставьте iframe в компонент HTML Editor — затем попросите администратора добавить whatismylocation.ai в Setup ▸ Trusted URLs с директивой CSP frame-src, иначе Salesforce молча заблокирует фрейм. Те, кто работает с кодом, могут обернуть тот же URL в Lightning Web Component примерно на 10 строк:
<!-- wimlMap.html -->
<template>
<iframe src={src} width="100%" height="340"
loading="lazy" title="Map"></iframe>
</template>
// wimlMap.js
import { LightningElement } from 'lwc';
export default class WimlMap extends LightningElement {
src = 'https://whatismylocation.ai/widget/map?lat=48.858400&lng=2.294500&name=Acme';
} Несколько филиалов: панель мест
В один виджет помещается до 10 точек. В режиме «Расширенный» в конструкторе поставьте каждую метку, задайте ей название и адрес и нажмите «Добавить место». Посетители получают панель мест — аккордеон рядом с картой на компьютере и ленту карточек с прокруткой на телефоне — с нумерованными метками. Выбор филиала перелетает карту к нему и показывает его адрес с собственной ссылкой «Проложить маршрут».
panel=выбирает раскладку:auto(по умолчанию — сбоку в широких iframe, лентой в узких),side,bottomилиnoneдля простых меток и всплывающих окон.motion=задаёт анимацию переключения:smooth(по умолчанию, плавный перелёт),fade,livelyилиnone. Посетители, у которых в системе включено уменьшение движения, всегда получают мгновенный вариант, что бы вы ни выбрали.open=noзапускает виджет со свёрнутыми записями; карта сама подгоняет масштаб под все филиалы, а вашzoomстановится максимальным.
Справочник параметров
| Параметр | Значения | Примечания |
|---|---|---|
lat / lng | десятичные градусы | Обязательны для одной точки (конструктор заполняет их сам). |
pins | lat,lng,Label~Address|… | До 10 филиалов; заменяет lat/lng. Названия ≤80 символов, адреса ≤120; внутри не должно быть | и ~. |
name | текст ≤80 | Жирный заголовок карточки или панели — обычно название вашей компании. |
address | до 3 строк | Адрес на карточке (одна точка; у филиалов используется Label~Address). В конструкторе есть три поля для строк; в шорткоде WordPress строки разделяет |. |
name_style / address_style | n · b · i · bi | Жирный или курсив для каждой строки — заголовок по умолчанию жирный, выбранный стиль заменяет это значение. В конструкторе это чипы B/I в расширенном режиме. |
maps | google · apple · google,apple | Небольшие ссылки-иконки «Открыть в Google Maps» и «Открыть в Apple Maps» с подсказками при наведении — на карточке и у каждого филиала в панели. Нет значения — нет иконок. |
zoom | 2–19, по умолчанию 16 | С филиалами становится максимальным после автоподбора. |
theme | light · dark · golden | Под стиль вашего сайта. |
marker | emerald · red · amber · indigo · slate | Цвет метки; по умолчанию классический синий. |
panel | auto · side · bottom · none | Раскладка панели мест (только при нескольких метках). |
motion | smooth · fade · lively · none | Анимация переключения филиалов; при включённом уменьшении движения переход всегда мгновенный. |
open | yes · no | Развёрнут ли первый филиал при загрузке (по умолчанию yes). |
directions | yes · no | Кнопки «Проложить маршрут» — в режиме нескольких меток у каждого филиала своя. |
iframe height | 220–800 px | 340 подходит для одной метки; от 400 панель смотрится свободнее. |
attribution | yes · no | Необязательная подпись «Powered by» на вашей странице — в плагине выключена по умолчанию. |
Устранение проблем в WordPress
Шорткод виден на странице как обычный текст. Этот блок не обрабатывает шорткоды. В блочном редакторе используйте блок Шорткод (не блок кода и не форматированный текст); в Elementor — виджет Shortcode, в Divi — модуль Code. В классическом редакторе введите его во вкладке «Визуально» как обычный текст.
Не появляется вообще ничего. Откройте исходный код страницы и найдите whatismylocation. HTML-комментарий о нехватке lat/lng означает, что координат нет или они неверные — скопируйте полный шорткод из конструктора, а не набирайте атрибуты вручную.
iframe пропадает после сохранения (вариант без плагина). WordPress вырезает iframe у ролей без права unfiltered_html — в мультисайте по умолчанию это касается и администраторов. Так же поступают некоторые плагины безопасности. Чистое решение — шорткод плагина: ему не нужно, чтобы вашей роли разрешали сохранять чистые iframe.
Карта серая, тайлы не загружаются. Тайлы приходят с tile.openstreetmap.org; очень агрессивный блокировщик рекламы или корпоративная сеть могут их блокировать (карточка поверх карты при этом отображается). Проверьте в другой сети или на телефоне через мобильный интернет.
Нет панели мест. Панель появляется начиная с 2 меток — для одной точки показывается классическая карточка поверх карты. Ещё проверьте, что не задано panel="none".
Анимация переключения не проигрывается. Почти всегда дело в системной настройке «уменьшить движение» у посетителя или у вас самих — виджет намеренно её учитывает и переключается мгновенно. Это не ошибка, остальные посетители по-прежнему видят выбранный вами вариант.
Изменения не видны. Плагин кеширования (или кеш хостинга) отдаёт старую страницу. Очистите кеш страницы после правки атрибутов шорткода — самому виджету кешировать нечего.
Шаг за шагом
- Откройте конструктор map-embed, введите свой адрес и нажмите Find on map (либо вставьте координаты напрямую, например 48.8584, 2.2945).
- Перетащите метку (или щёлкните по карте), пока она не окажется точно на входе — геокодеры обычно ставят точку в центр улицы, а не у вашей двери. Эти итоговые координаты сохранятся навсегда.
- Укажите название организации и выберите тему оформления. Есть филиалы? Переключите конструктор в режим Advanced и нажимайте Add location для каждого адреса — название плюс адрес.
- Скопируйте код для встраивания — либо, для WordPress, готовый шорткод с той же страницы — и вставьте его на свою страницу.
- Опубликуйте и проверьте страницу: карта, метка и кнопка построения маршрута (Get-directions) должны отобразиться сразу же. Не нужны ни ключ, ни аккаунт, ни какая-либо настройка на сервере.
Частые вопросы
Нужен ли API-ключ или платёжный аккаунт?
Сколько филиалов помещается в один виджет?
Смотреть на английском: How to Embed a Map Widget on Any Site · Русский