Добавление маркера на карту Google Maps

Материал из Справочник Web-языков.

Перейти к: навигация, поиск

Маркеры применяются для обозначения точек на карте Google Maps.

Возможно размещение сразу множества маркеров на одной карте.

Содержание

[править] Установка маркера

Для установки маркера на карте достаточно задать его широту и долготу. Это основные обязательные основные характеристики маркера:

Выполнить пример (addmarkers_main.html)

[править] Обработка событий маркера

Маркеры Google Maps - интерактивные элементы.

При создании маркера можно указать обработчик событий, который будет реагировать на перетаскивание, нажатие на маркер и прочие действия, связанные с маркером.

Обработка события для маркера задается методом addListener объекта GEvent. В следующем примере мы разместим маркер, при нажатии на который появляется информационное окно с текстом:

Выполнить пример (addmarkers_events.html)

Основные события, которые могут пригодиться при работе с маркерами
click - нажатие на значек маркера:
dragstart - начало перетаскивание маркера (когда нажали на маркер и не отпуская клавишу мыши начинаем его перетаскивать);
dragend - завершение перетаскивания маркера (когда пользователь отпустил клавишу мыши во время перетаскивания маркера);
mouseover - когда курсор мыши находится над значком маркера;
mouseout - когда курсор мыши выходит из зоны значка маркера.
Примечание
Для получения более подробной информации о поддерживаемых маркером событий смотрите описание класса GMarker.

[править] Перетаскивание маркеров

По умолчанию маркер жестко закреплен на карте и его не возможно перетащить. Но при создании маркера можно указать возможность перетаскивания его мышью. Достигается это при помощи указания параметра draggable:true:

Выполнить пример (addmarkers_draggable.html)

При перетаскивании маркера срабатывают события dragstart (начало перетаскивания), drag (в процессе перетаскивания маркера), dragend (срабатывает в конце перетаскивания маркера в момент отпускания маркера мышью).

[править] Информационные окна

Сам по себе маркер только показывает определенное место на карте. Что находится на этом месте - сразу может быть и не понятно. Конечно можно сделать подсказку при наведении мыши на маркер при помощи параметра title: Действие аналогично атрибуту title у элементов HTML. Но в такой подсказке не разместишь картинки, ссылки на страницы сайта и прочую полезную информацию, описывающую данную точку на карте. Потому для маркеров добавили возможность выводить информационные окна, которые могут быть нескольких типов:

openInfoWindowHtml
Открывает информационное окно, содержимое которого задается в виде HTML-текста.
openInfoWindowTabsHtml
Открывает информационное окно, которое содержит закладки. Каждая из закладок может содержать произвольный HTML-текст.

Как правило, открытие информационного окна делают при срабатывании события click на маркере:

Открываемое информационное окно самостоятельно визуально "привязывается" к маркеру, для которого оно открылось, и, при необходимости, карта "прокручивается" в такое положение, чтобы это окно было целиком видно на карте.

Думаю стоит сказать пару слов про метод openInfoWindowTabsHtml.

Это метод позволяет несколько расширить возможности по выводу описательной информации. Данный метод позволяет разбить выводимую информацию на несколько блоков, каждый из которых открывается в отдельной вкладке. Это может потребоваться, когда необходимо показать достаточно много разнородной информации, касающейся маркера на карте.

Метод принимает массив из объектов GInfoWindowTab, содержащих названия вкладок и текст в HTML-формате: Выполнить пример (addmarkers_tabs.html)

Примечание
Стоит заметить, что на момент написания этой статьи в работе метода openInfoWindowTabsHtml были замечены некоторые ошибки: если число вкладок было большим и вывод их названий "выползал" за пределы основного информационного окна, то это окно не расширялось (что хотелось бы), а оставалось на месте. В связи с этим информационное окно приобретало некрасивый визуальный вид.

[править] Одновременный вывод нескольких маркеров

Ранее мы рассматривали случаи вывода одного маркера на карте Google Maps. Сейчас же я хочу рассмотреть методологию вывода сразу группы маркеров. При этом при нажатии на каждый из маркеров будет выводиться информационное окно с текстом, описывающим данный маркер: Выполнить пример (addmarkers_several.html)

Добавить страницу в закладки:
РАЗРЕШАЕТСЯ перепечатывать и копировать информацию ТОЛЬКО ПРИ РАЗМЕЩЕНИИ ссылки на оригинал!
(<A href="http://www.spravkaweb.ru/">Справочник Web-языков</A>)
Личные инструменты
смотрим также
смотрим также
Портфолио тамада на свадьбу цены в Москве