Введение
В этом руководстве рассказывается, как при помощи HTML добавить карту Google с маркером на веб-страницу. Ниже показана карта, которая будет использоваться в качестве примера. Маркеров будет два: один для города Маунтин-Вью (Mountain View, CA), а другой для Сиэтла (Seattle, WA).
Начало работы
Порядок действий, посредством которых мы создадим карту Google с маркерами при помощи HTML, будет таким:
Для работы потребуется браузер. Рекомендуем использовать Google Chrome, но подойдет и любой другой популярный браузер (Firefox, Safari, Edge) для вашей платформы из списка поддерживаемых браузеров.
Шаг 1. Получите ключ API
В этом разделе объясняется, как выполнить аутентификацию приложения в Maps JavaScript API с помощью собственного ключа API.
Вот что нужно сделать:
Войдите в Google Cloud Console.
Создайте или выберите проект.
Нажмите Continue (Продолжить) для активации API и всех связанных сервисов.
На странице Credentials (Учетные данные) получите ключ API и задайте для него ограничения. Если у вас есть действующий ключ API без ограничений или ключ с ограничениями для браузера, можете использовать его.
Узнайте, как защитить доступные ресурсы от посторонних и обезопасить ключ API.
Включите оплату. Ознакомьтесь со сведениями о моделях оплаты.
Получив ключ API, добавьте его в следующий фрагмент, нажав "YOUR_API_KEY". Скопируйте и вставьте тег скрипта встроенного загрузчика, чтобы использовать его на собственной веб-странице.
<script async src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async&callback=initMap"> </script>
Шаг 2: Создайте файлы HTML, CSS и JS
Ниже приведен код HTML простейшей веб-страницы.
<html> <head> <title>Add a Map with Markers using HTML</title> <!-- TODO: Add bootstrap script tag. --> </head> <body> <!-- TODO: Add a map with markers. --> </body> </html>
Чтобы загрузить карту, нужно добавить тег script
встроенного загрузчика для Maps JavaScript API, как показано в следующем фрагменте (добавьте собственный ключ API):
<script async src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async&callback=initMap&libraries=map,marker">
Внимание, спойлер! Попробуйте запустить готовый пример в JSFiddle.
Шаг 3. Добавьте карту
Чтобы добавить на страницу карту Google, скопируйте элемент HTML gmp-map
и вставьте его в элемент body
страницы HTML:
<gmp-map center="37.4220656,-122.0840897" zoom="10" map-id="DEMO_MAP_ID" style="height: 400px"></gmp-map>
В результате получится такая карта:
В центре ее – метрополия Сан Хосе.
Шаг 4. Добавьте маркер
Чтобы добавить на карту маркер, используйте элемент HTML gmp-advanced-marker
.
Скопируйте следующий фрагмент и вставьте его в элемент gmp-map
, добавленный на предыдущем шаге.
<gmp-map center="43.4142989,-124.2301242" zoom="4" map-id="DEMO_MAP_ID" style="height: 400px" > <gmp-advanced-marker position="37.4220656,-122.0840897" title="Mountain View, CA" ></gmp-advanced-marker> <gmp-advanced-marker position="47.648994,-122.3503845" title="Seattle, WA" ></gmp-advanced-marker> </gmp-map>
Приведенный выше код добавляет два маркера и, чтобы лучше их отобразить, изменяет в gmp-map
параметры zoom
и center
. Чтобы использовать расширенные маркеры, потребуется идентификатор карты (подойдет DEMO_MAP_ID
).
Советы и устранение неполадок
- Можно настроить карту с помощью специальных стилей.
- Пользуйтесь консолью инструментов разработчика в браузере, чтобы тестировать и запускать свой код, просматривать отчеты об ошибках и устранять проблемы.
- Открыть консоль в Chrome можно сочетанием клавиш:
Command + Option + J (Mac) или Control + Shift + J (Windows). Чтобы получить географические координаты (широту и долготу) точки на Google Картах:
- Откройте Google Карты в браузере.
- Нажмите правой кнопкой мыши на точку, координаты которой хотите получить.
- В появившемся контекстном меню выберите Что здесь. Появится карточка в нижней части экрана, в последней строке которой записаны значения широты и долготы.
Преобразовать адрес в географические координаты можно с помощью сервиса геокодирования. Узнайте, как начать работу с этим сервисом.
Полный пример кода
Ниже приведены результирующая карта и полный пример кода, который использовался в этом руководстве.
<html> <head> <title>Add a Map with Markers using HTML</title> <script src="https://polyfill.io/v3/polyfill.min.js?features=default"></script> <link rel="stylesheet" type="text/css" href="./style.css" /> <script type="module" src="./index.js"></script> </head> <body> <gmp-map center="43.4142989,-124.2301242" zoom="4" map-id="DEMO_MAP_ID" style="height: 400px" > <gmp-advanced-marker position="37.4220656,-122.0840897" title="Mountain View, CA" ></gmp-advanced-marker> <gmp-advanced-marker position="47.648994,-122.3503845" title="Seattle, WA" ></gmp-advanced-marker> </gmp-map> <!-- The `defer` attribute causes the callback to execute after the full HTML document has been parsed. For non-blocking uses, avoiding race conditions, and consistent behavior across browsers, consider loading using Promises. See https://developers.google.com/maps/documentation/javascript/load-maps-js-api for more information. --> <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB41DRUbKWJHPxaFjMAwdrzWzbVKartNGg&callback=initMap&libraries=marker&v=beta" defer ></script> </body> </html>