Карта точек в движке
Иногда, в рамках уровня необходимо выдать карту точек.
Обычно, авторы делают карту в конструкторе Яндекса или Гугла и встраивают в движок IFRAME.
Доступ к редактированию карты остается на совести автора, который её создал и расшарить права на карту достаточно сложно.
Плюс к этому - карта не подстраивается под экран, с ней нельзя просто взаимодействовать ( скрывать точки, добавлять новые и т.п. ) и онм не показывает текущее местоположение игрока.
Исходя из этих минусов - было протестировано следующее решение:
В задании создается подложка карты с 2 слоями ( Яндекс-карта и Яндекс-спутник) и типы иконок.
В бонусах - точки с координатами, выбранными типами и подписями точек.
Так выглядит код, вставляемый в задание:
ТЫЦ
Разумеется, вставляется все без галочки "Включить автоперенос строк"
А так - вставляемый маркер в бонусе:
<script> L.marker([59.456457, 30.393699], {icon: peshMarker}).addTo(map).bindPopup("Описание точки");</script>
Цифры - координаты точки, icon - тип маркера, определенный в задании, Описание точки - текст при клике на точку.
Итог всего этого:
- Карта видна в движке и подстраивается под экран.
- Можно выбрать тип подложки - карта или спутник
- При закрытии бонуса - точка пропадает с карты ( но можно вписать скрипт с новым маркером в подсказку бонуса и на карте появится новая точка! )
- При открытии движка через https - можно видеть свою позицию
|