Октябрь 29, 2019 Запись была обновлена
Пользовательские стили на картах Google — индивидуальное оформление Google Maps
Когда Вам необходимо указать на карте реальное месторасположение офиса либо какого-то объекта, то сервис Google Maps предоставляет Вам очень большой спектр возможностей. Очень часто что стиль карты, которую вставляют на сайт не подходит по стилю и цветовой гамме. Но этот сервис позволяет изменить стандартный вид карты, настроить насыщенность, яркость, добавить свою иконку маркера на карту и так далее.
Ниже находятся статьи, где Вы можете выбрать интересные эффекты при прокрутке Вашей страницы лендинга:
Демо карту можно посмотреть по этой ссылке:
Посмотреть примерСкачать
Практическая реализация
1 этап. Структура
Здесь нужен лишь один общий контейнер, в котором будет размещаться сама карта, кнопки увеличить/уменьшить и строка с адресом:
1 2 3 4 5 6 | <section id="google-map"> <div id="google-container"></div> <div id="zoom-in"></div> <div id="zoom-out"></div> <address>1 Plás Chnoc an tSamhraidh, Baile Átha Cliath, Ирландия</address> </section> |
2 этап. Получаем API Key
Переходим на данную страницу и получаем ключ API — Get API Key.
Если непонятно как получить API ключ, тогда смотрите видео — ПЕРЕЙТИ К ВИДЕО.
Затем вставляем данный API ключ в HTML вместо слов "ВАШ_API_КЛЮЧ":
1 | <script src="https://maps.googleapis.com/maps/api/js?key=ВАШ_API_КЛЮЧ"></script> |
3 этап. Стили + обработка событий
Сейчас переходим непосредственно к главному файлу, где определяются все стили и события на карте, а именно к файлу main.js. И первым делом нам необходимо указать долготу и широту нашей точки на карте. Плюс к этому еще указываем начальный коэффициент увеличения:
1 2 3 | var latitude = 53.356525, longitude = -6.253810, map_zoom = 18; |
Чтобы получить долготу и широту, Вам необходимо в нужном месте карты Google кликнуть правой кнопкой мыши, а затем нажать "Что здесь?". Внизу Вы увидите всплывающее окошко, где будет указана долгота и широта. Вам их необходимо перенести в данный файл.
Далее указываем путь к маркеру, который находится в центре.
1 | var marker_url = 'img/icon-location.png'; |
В моем случае это зеленый флажок:
Следующим шагом определяем основной цвет, насыщенность и яркость карты:
1 2 3 | var main_color = '#007148', saturation_value= -1, brightness_value= 1; |
Просто изменяя значения, поэкспериментируйте и подберите тот вид карты, который Вас устроит.
Далее мы определяем стили для объектов на карте. К примеру, если мы хотим убрать обозначения дорог, но сами дороги оставить, то нам необходимо прописать 2 свойства:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | var style= [ { //Скрываем обозначение дорог на карте featureType: 'road.highway', elementType: 'labels', stylers: [ {visibility: "off"} ] }, { featureType: "road.highway", elementType: "geometry.fill", stylers: [ { hue: main_color }, { visibility: "on" }, { lightness: brightness_value }, { saturation: saturation_value } ] } |
Полный список всех свойств находится здесь — Google Maps JavaScript API V3.
V Подробная видео-инструкция
Вывод
Сейчас у Вас есть все для того, чтобы сделать индивидуальные стили для Google Maps. Такая карта будет более лаконично смотреться в той же цветовой схеме, в которой находится вся страница.
Если Вам что-то непонятно — посмотрите видео, либо можете задать свой вопрос с помощью формы комментирования, которая находится ниже.
Успехов!
С Уважением, Юрий Немец
Спасибо за ваше обращение!
Мы свяжемся с вами в течение 2-х часов (график работы: пн-пт, с 10 до 19)
Согласен, очень часто при верстке сайтов приходится стилизировать карту под дизайн, полезный материал!!!
А как вставлять при этом саму карту забыли?
Всё сказано в статье. Смотрите первый этап "Структура".
Доброго времени суток, а как сделать несколько флажков на одной карте?
Здравствуйте, Георгий!
В файле main.js смотрите на 201-ю строку. Там идет "нанесение" флажка на карту, где указывается стиль и координаты флажка.
Таким же образом можно добавить сколь угодно много флажков.
спасибо, разобрался.) замечательная карта
Жаль что из-за долготы и широты это прикрутить некуда, а так бы например к сайту с продажами квартир,животных или еще чего, пользователь пишет объявление и свой адрес а он высвечивается на карте.
Так нужно лишь определить местонахождение пользователя. Для этого все возможности есть в Google Maps API.
Подскажите, как сделать это в WP?
Виталий, процесс установки ничем не отличается от обычного HTML сайта. Скрипты к скриптам, стили к стилям и так далее.
Круто, но я немного не разобрался с API, выходит карту локально не потестить, нужен только конкретно рабочий домен? Просто заливаю на бесплатный хостинг а карты нету, пробовал 3 разных API и даже ваш, не работает карта( Думаю многим будет интересно узнать что не так.
Сергей, вот потому что загружаете на бесплатный хостинг, поэтому и не получается. И ключ уникальный постоянно должен быть.
Спасибо большое за ответ)
Здравствуйте, а не подскажите в сети русскоязычный материал по картам, интересует трекинг машин на карте и написание плагинов для работы с картами в этом направлении ?
Алексей, не ищите русскоязычный, такие вещи быстро появляются на западе, там и нужно это искать. А если найдете что-то на русскоязычном, то, значит, этот функционал есть на каждом 3-м сайте.
Юрий спасибо за совет 1
Спасибо за нужную информацию. Не могу понять — почему же не хочет отображаться на мобильном. Пишет только "Oops! Something get wrong" c восклицательным значком. На обычном компьютере все хорошо, а мобильник не хочет…
а как вывести карту на английском?
и да — не работает на смартфонах
на андроиде карта не отображается
Доброе.
Не работает, вернее карту не показывает, только строку адреса.
<!doctype html>
<html lang="en" class="no-js">
<head>
</head>
<body>
<section id="google-map">
<div id="google-container"></div>
<div id="zoom-in"></div>
<div id="zoom-out"></div>
<address>1 Plás Chnoc an tSamhraidh, Baile Átha Cliath, Ирландия</address>
</section>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBYs_ikmsJm1HisyyT1E5z8kfaMnNBsPyk"></script>
<script src="js/gmain.js"></script>
</body>
</html>
js/gmain.js — один в один скрипт с Вашего сайта.
куда вписывать popup?
…разобрался
Карта перестала отображаться. Вернее отображается, но теперь постоянно пишет что превышен лимит
Приветствую почему так происходит карта от сервиса snazzymaps.
https://yadi.sk/i/bThGQXL3IRI1mw