Маркеры в html: list-style-type | htmlbook.ru

Маркеры в многоуровневых списках — Блог Игоря Штанга — ЖЖ

?
Маркеры в многоуровневых списках
nobelfaik
6 августа, 2018

В эфире рубрика ???. Алексей Зотов спрашивает:

Какие маркеры использовать в многоуровневых маркированных списках?

Отвечаю: никакие. В русской типографике нет такой опции. Маркер всего один — длинное тире, но даже он не нужен, чтобы показать иерархию:

Если жирное начертание уже используется в документе для чего-то другого, выделите прописными. В крайнем случае добавьте еще одну втяжку. В крайнем — потому что такое оформление, по-моему, выглядит слишком искусственным:

С другой стороны, непонятно, почему этот список обязательно должен быть маркированным, когда есть цифры:

Рубрика ???

Отправьте свой вопрос на электронный адрес conversive@mail. ru. В теме укажите ??? (три вопросительных знака). Будьте конкретны. По возможности прикрепите картинку. О чем, например, можно спросить

Метки: ???, буллит, верстка, знаю как, микротипографика, список, статья, типографика

  • Что делать со скобками

    На «Большой переверстке» работали с новой таблицей — прейскурантом базы отдыха. В ней много текста в скобках, и оказалось, что…

  • Самая дурацкая сортировка

    — это сортировка по форме. Например, когда строки располагают по длине: Или пытаются изобразить какую-то фигуру: Дурацкая она потому,…

  • Пунктуация на упаковке Яндекса

    Снова о современной русской пунктуации. Давайте внимательно посмотрим, как набран текст на упаковке умной розетки Яндекса. 1. Без кавычекНазвание…

Создание AR из 10 строк HTML-кода (AR.js) — Разработка на vc.ru

AR.js — это библиотека для создания опыта Web-AR. Она очень проста в использовании и может стать вашей площадкой для экспериментов. Мы подготовили перевод отличной статьи, которая поможет вам изучить эту библиотеку быстрее и сделать первый проект Web-AR.

20 184 просмотров

Дополненная реальность (AR) прямо сейчас задает тренды в техническом пространстве и многие крупные компании, такие как IKEA, Coca-Cola и ZARA внедряют AR-технологии в свои продукты и маркетинг. Как веб-дизайнер/разработчик из Webpuppies я был чрезвычайно очарован количеством возможностей, которые может предложить AR. Однако у меня было очень мало знаний касаемо того, как они были разработаны.

Я хотел найти самое простое решение, позволяющее отображать хотя бы трехмерный объект с помощью камеры моего телефона. Я не хотел полагаться на сторонние приложения, не говоря уже о самоличной разработке громоздких AR-приложений. И в этом мне помогла библиотека AR.js.

Я хорошенько поискал и нашел ответ; AR на базе веб-технологий с использованием библиотеки AR.js. Для тех, кто хочет окунуться в пространство дополненной реальности, но боится того, что будет сложно, хочу уверить — сложно не будет. Вам нужно всего лишь написать несколько строк HTML-кода и вуаля! Вы можете создать свой самый первый AR-проект менее чем за 10 минут!

Что из себя представляет AR на базе Web?

Как следует из названия, AR на базе веб-технологий в основном позволяет пользователям запускать специализированную камеру, которая может обнаруживать и отображать AR-объекты, просто перейдя по ссылке. Создавая AR в web, пользователям не нужно загружать дополнительные приложения для того, чтобы просто увидеть AR в действии.

Что такое AR.js?

AR.js — это облегченная библиотека для AR, созданная Jerome Etienne и поддерживаемая Nicolò Carpignoli. Она построена на основе библиотеки three.js и jsartoolkit и объединена с A-frame (библиотекой для разработки VR в web) для AR экспириенса. Тут используются маркеры, чтобы камера могла обнаруживать и отображать AR объект. В этом методе создания дополненной реальности замечательно то, что он:

  1. На все 100% базирован на web.
  2. Очень быстро запускается даже на относительно старых телефонах.
  3. Имеет открытый исходный код (а главное бесплатный!)
  4. И последнее, но не менее важное: для его запуска и работы требуется всего около 10 строк HTML-кода!

Круто! Итак, как мне начать?

Во-первых, вам нужно настроить несколько вещей:

  • Веб-сервер для размещения вашего HTML-кода или настройте его на своем собственном http: // localhost / сервере. Вы также можете зарегистрировать учетную запись sandbox на codepen.io для легкого размещения своего кода в интернете или использовать быстрый и бесплатный glitch.com. Если вы будете использовать glitch, то для начала вам достаточно создать html проект (hello web-page).
  • Скопируйте и вставьте эти несколько строк HTML-кода в свой файл index.html:

<!doctype HTML> <html> <script src=»https://aframe.

io/releases/0.9.2/aframe.min.js»></script> <script src=»https://raw.githack.com/jeromeetienne/AR.js/2.0.5/aframe/build/aframe-ar.js»></script> <body> <a-scene embedded arjs> <a-box position=’0 0.5 0′ material=’opacity: 0.5;’></a-box> <a-marker-camera preset=’hiro’></a-marker-camera> </a-scene> </body> </html>

  • Откройте ссылку на своем устройстве и наведите камеру на это изображение.

Если вы хотите предварительно посмотреть, как все это дело будет выглядеть, не приступая к коду, посмотрите пример здесь.

  • Если через камеру вашего устройства вы видите AR блок, расположенный сверху маркера Hiro, то та-да! Вы только что создали свой самый первый AR-опыт! Просто, так ведь?

Удивительно! Но как это работает?

Давайте просмотрим код построчно:

1. Библиотека A-frame и AR.js импортируется с помощью этих двух скриптов:

<script src=»https://aframe. io/releases/0.9.2/aframe.min.js»></script > <script src=»https://raw.githack.com/jeromeetienne/AR.js/2.0.5/aframe/build/afram e-ar.js»></script>

2. В тело HTML мы включаем <a-scene> из библиотеки A-frame и сообщаем A-frame, что мы хотим инициализировать AR.js с embedded arjs с помощью <a-scene>.

<a-scene embedded arjs>

Таким образом <a-scene> охватывает все, что мы хотим поместить внутрь, включая маркер, камеру и AR-объект. Проще говоря, A-frame позволяет 3D-моделям работать в сети, а AR.js преобразует веб-сцену в AR-сцену.

3. Затем мы хотим добавить объект, который будет включен в

<a-scene>. На данный момент мы используем готовые к использованию элементы A-frame, называемые примитивами.

<a-box position=’0 0.5 0′ material=’opacity: 0.5;’></a-box>

Вы можете поэкспериментировать с другими примитивами, доступными в библиотеке A-frame. Вот несколько примеров, которые можно использовать для замены <a-box>:

<a-sphere position=»0 1. 25 -5″ radius=»1.25″ color=»#EF2D5E»></a-sphere> <a-cylinder position=»1 0.75 -3″ radius=»0.5″ color=»#FFC65D»></a-cylinder> <a-plane position=»0 0 -4″ rotation=»-90 0 0″ color=»#7BC8A4″></a-plane>

4. Наконец, мы сообщаем A-Frame, что хотим, чтобы arjs управлял камерой, добавляя:

<a-marker-camera preset=’hiro’></a-marker-camera>

<a-marker-camera> использует заданный маркер под названием

hiro, который является маркером в библиотеке AR.js.

Готово! Конечно, в сцене A-frame есть гораздо больше, c чем можно поиграть, например, добавить анимацию, взаимодействие с объектами или даже добавить в сцену свою собственную 3D-модель. Вы можете узнать больше обо всех возможностях, которые предоставляет AR.js тут, а также ознакомиться с документацией по A-frame здесь.

Кастомные AR-маркеры

Вы можете захотеть создать свой собственный маркер и не полагаться на предустановленный в AR.js маркер hiro. Что ж, почему бы и нет? Вот что нужно сделать для создания собственного AR-маркера:

1. Подготовьте изображение, которое вы хотите установить в качестве пользовательского маркера. Есть несколько условий, касающихся изображений, чтобы все вышло:

— Они должны быть квадратной формы.

— У них не может быть белых/прозрачных областей, только светло-серые (например, # F0F0F0 или RGB (240, 240, 240)). Обратите внимание на фон, окружающий изображение.

— Лучше всего они работают, имея асимметричную форму.

2. Перейдите по ссылке AR.js Custom Marker Training.

3. Нажмите «Upload» и загрузите изображение. Дефолтное значение для рисунка установлено на 0,50. Также есть ползунок «пропорции рисунка», который увеличивает/уменьшает количество черной границы, окружающей изображение. Вы можете изменить соотношение по своему усмотрению, но вполне возможно, что потребуется добавить дополнительные строчки кода в том случае, если соотношение будет не установлено на 0,50.

4. Нажмите «Download Marker», после чего будет создан .patt файл. Добавьте этот .patt файл в свой каталог, где находится index.html. Щелкните «Download Image», чтобы создать маркер в виде .png изображения.

5. Вам нужно будет заменить <a-marker-camera>

<a-marker-camera preset = ‘hiro’> </a-marker-camera>

с помощью

<a-marker type = ‘pattern’ url = ‘path / to / pattern-marker.patt’> </a-marker>

где path/to/pattern-marker.patt находится в .patt файле, который вы разместили ранее. Вы могли заметить, что <a-marker-camera> теперь просто <a-marker>. Так куда же делась камера? Что ж, не волнуйтесь, ведь вам просто нужно добавить отдельную a-entity камеру:

<a-entity camera></a-entity>

6. Если вы увеличили/уменьшили соотношение на странице AR.js Custom Marker Training (например, соотношение установлено на 0,7), вам нужно будет добавить следующие параметры в embedded arjs:

<a-scene embedded arjs=’patternRatio: 0. 7′>

Весь код будет выглядеть таким образом:

<! doctype HTML> <html> <script src = » https://aframe.io/releases/0.9.2/aframe.min.js «> </script> <script src = » https://raw.githack.com/jeromeetienne/AR.js /2.0.5/aframe/build/aframe-ar.js «> </script> <body style = ‘margin: 0px; overflow: scroll; ‘> <a-scene embedded arjs =’ patternRatio: 0.7 ‘> <a-marker type =’ pattern ‘url =’ path / to / pattern-marker.patt ‘> <a-box position =’ 0 0,5 0 ‘material =’ opacity: 0.5; ‘> </a-box> </a-marker> <a-entity camera> </a-entity> </a-scene> </body> </html>

Вы поймете, что <a-box> примитив находится внутри <a-marker> тега, а примитив — <a-entity camera> вне его. Это потому, что он позволяет отображать объект только после того, как камера обнаруживает настраиваемый маркер и исчезает, когда на него не направлена камера.

Подводя итоги

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

Больше статей на телеграм-канале

HTML-образцов

HTML-образцов

(Запись: Несколько пробелов и несколько линии в исходном файле игнорируются.)

Примеры различный тип размеры:

Это

Это
Теперь мы вернулись к шрифту обычного размера. Все типы могут быть сделаны курсив , полужирный шрифт или полужирный курсив .

Маркер или начинается с полужирный шрифт и маркер или завершает его.

Маркер или начинается с , курсив , и или завершает его.

Используйте оба вместе: сделать полужирный курсив ; и закройте оба (в любом порядке) , чтобы закончи.

(Все это предполагает, что вы знаете , почему вы хотели бы использовать либо один, конечно;
знание HTML равно , а не заменяет умение пишите.)

HTML очень удобен для создания списков. Есть несколько типов:

    Это «нумерованный список» с использованием чисел.
  1. HTML-маркер для начала упорядоченного списка :
    1. Неудивительно, что конечный маркер
  2. Каждый пронумерованный элемент начинается с
  3. (для «Элемент списка»)
  4. Вам не нужно вводить номер
  5. Мало того, его нельзя изменить. Нумерация автоматическая.
    Это «неупорядоченный список» с использованием «маркеров».
  • HTML-маркер для начала списка UNordered :
    • Маркер для завершения
  • Каждая «маркированная точка» также начинается с
Существует также «Список каталогов», который полезен для определения терминов и различные другие ситуации, когда вам может понадобиться два уровня отступов.
Маркер HTML для начала списка Directory :
… и заканчивается на
Существует два типа маркеров предметов:
  1. , что означает «Срок каталога».
  2. , что означает «Определение каталога»
Обратите внимание, что список каталогов не выглядит как список;
пропускает строку, но не делает отступ и не создает пустую строку, а
пропускает строку и отступы, если у вас есть очень длинная строка (например, эта), которая будет зацикливаться, новая строка будет выстроились с отступом.
Знак
предназначался для «определения» срок,
, но это хорошо для многих других вещей.
Список закладок Netscape представляет собой файл HTML, отформатированный с использованием
;
большинство страниц «Горячего списка» в Интернете начинались с являющиеся файлами закладок.
Нет автоматической «маркировки» с элементами списка в списке каталогов, но
  • если вы хотите, чтобы появился маркер, вы можете использовать
  • после
    , вот так
  • или после
    , вот так
  • Но… это вот что будет если поставить
  • до
  • и вот что происходит с
  • до
    , так что будьте ОСТОРОЖНЫ.
  • Все виды списков начинаются и заканчиваются неявными метками абзаца.

    Все указанные выше метки — это просто команды форматирования текста. того, что делает любой текстовый процессор; но реальная сила HTML и Интернета в общем, лежит в гипертексте , то есть возможность связать один страницу на другую, чтобы она стала «горячей ссылкой». Это синие, подчеркнутые фрагменты текста, на которые вы нажимаете. Они называются «якорями» в HTML, и они используют маркер.

    Ссылка, подобная следующей, на мою домашнюю страницу: Джон Лоулер выглядит так в HTML:

    Джон Лоулер
      Состоит из следующих частей:
    • Начинается со знака « , за которым следует хотя бы один пробел или пустая строка ,
    • , за которым следует « href » (для «гипертекстовой ссылки»), с НЕТ пробелы ,
    • , за которым следует « = » («знак равенства»), без пробелов ,
    • , за которым следует введенный URL-адрес, в ДВОЙНЫХ кавычках, и БЕЗ пробелов ,
    • и завершается знаком «>», и БЕЗ пробелов ,
    • , за которым следует любой текст, который вы хотите сделать синим и подчеркнутым
      (т. е. само имя ссылки; оно может быть сколь угодно длинным и может в нем есть пробелы)
    • и заканчивающийся знаком .
    Таким образом можно связать любой URL. Нажав на нее, вы перейдете на эту страницу, точно так же, как если бы вы набрали его в Netscape или «открыли» его из меню.

    Чтобы поиграть с этим файлом, используйте пункт меню Netscape «Просмотр исходного кода», сохраните исходный файл, затем откройте его с помощью BBEdit. Ты можешь измениться как вам нравится, а затем используйте пункт меню Netscape «Открыть файл» чтобы увидеть, как это выглядит с изменениями.

    Обязательно повеселитесь.


    Вернуться на страницу ссылок Macy-MIM
    URL этой страницы: http://www.umich.edu/~jlawler/macy-mim/sample.html
    Последнее изменение 24.06.96 Джон Лоулер

    Как создавать пользовательские маркеры HTML на Картах Google | Дэн Уорд

    Как создавать маркеры на Картах Google с помощью HTML и CSS, используя классы ES6 и замыкания

    Метод по умолчанию для создания маркеров на Картах Google (при использовании JavaScript API Карт Google) заключается в использовании изображения или путь SVG, что ограничивает возможности разработки. В этом руководстве рассматривается использование HTML и CSS для создания маркеров карты на карте Google. Этот метод включает в себя расширение класса библиотеки Google Maps 9.0247 OverlayView , который представляет свои собственные проблемы, поэтому мы также рассмотрим, как асинхронно расширить наш новый класс, чтобы избежать проблем сборки, условий гонки и дублирующих зависимостей.

    В современных приложениях большинство зависимостей будут добавляться с помощью диспетчера пакетов (например, npm или yarn), использоваться в коде с помощью операторов import и объединяться в производительные фрагменты кода во время сборки с помощью инструмента сборки (например, webpack). Карты Google, с другой стороны, обычно загружаются где-то в файле HTML веб-приложения с помощью тега скрипта, который затем помещает библиотеку JavaScript Карт Google в глобальный объект (9).0247 window.google ) для использования во время выполнения.

    Каждая функция в Google Maps JavaScript API имеет собственный класс/пространство имен в родительском пространстве имен google. maps . Самый простой способ добавить маркер на карту — использовать класс Marker, который находится по адресу google.maps.Marker . Этот интерфейс для создания маркеров на карте ограничен приемом только двух типов объектов для содержимого маркера: изображения или пути SVG. Это хорошо работает во многих случаях, но также вводит ограничения на то, что разработчик может делать с маркерами, размещенными на карте.

    API JavaScript Карт Google также имеет более общий класс для создания объектов на карте: класс OverlayView по адресу google.maps.OverlayView . В документах эти пользовательские наложения называются и определяются как «объекты на карте, привязанные к координатам широты/долготы, поэтому они перемещаются при перетаскивании или масштабировании карты».

    Это очень похоже на маркер карты, определенный с помощью класса Marker! И, как оказалось, google.maps.Marker — это просто предопределенный тип наложения. Таким образом, используя OverlayView , разработчик может создавать маркеры карты, используя любое содержимое HTML, подходящее для данного проекта. А поскольку содержимое пользовательского наложения — это просто HTML, и CSS, и JavaScript могут ориентироваться на пользовательское наложение с помощью атрибутов идентификатора и/или класса элемента, что позволяет более детально контролировать поведение, более гибкое содержимое и анимацию CSS!

    Мы создадим класс ES6 с именем HTMLMapMarker , который расширяет класс OverlayView . Конструктор будет принимать три аргумента:

    1. Объект Широта/Долгота. Это будет экземпляр другого класса Google Maps, класса LatLng ( google.maps.LatLng ). Конструктор этого класса принимает два аргумента Number , представляющих соответственно широту и долготу места на карте, где должен быть размещен маркер.
    2. HTML-код, который следует использовать в качестве содержимого маркера. Это HTML, представленный в виде строки. Для более сложных приложений, созданных с помощью веб-пакета, это может быть HTML-файл, импортированный через html-загрузчик.
    3. Экземпляр карты Google, на котором будет размещен маркер.

    В нашем классе также потребуется реализовать четыре метода для удовлетворения требований OverlayView :

    1. draw() . Этот метод будет использоваться для рисования маркера на карте.
    2. удалить() . Этот метод будет использоваться для удаления маркера с карты.
    3. getPosition() . Этот метод будет использоваться для отслеживания местоположения (широта/долгота), в котором был размещен маркер.
    4. getDraggable() . Этот метод будет определять, можно ли перетаскивать наш маркер. Поскольку это не так, этот метод просто вернет false .

    Начнем с определения класса и конструктора. Мы будем передавать аргументы в конструктор через объект args с тремя описанными выше свойствами:

    Как видите, LatLng и HTML, переданные в конструктор, просто сохраняются как свойства экземпляра с тем же именем ( this. latlng и this.html ). Однако экземпляр карты можно использовать сразу. В конструкторе мы вызываем метод setMap , унаследованный от расширения OverlayView , передавая экземпляр карты , эффективно связывая новый маркер с текущим экземпляром карты на странице.

    Далее, давайте перейдем к методу draw . Этот метод будет делать большую часть тяжелой работы для класса.

    Первый шаг — проверить, определен ли this.div . Это свойство экземпляра, которое будет содержать элемент

    , который в конечном итоге будет размещен на карте. Если это не так, мы создаем новый
    через document.createElement("div") и сохраняем его в this.div и устанавливаем его position в absolute .

    HTML-код, назначенный this.html из конструктора, затем устанавливается на innerHTML свойство

    , определяющее содержимое HTML элемента.

    В строке 8 метода мы используем метод класса google.maps.event addDomLister , чтобы добавить прослушиватель событий в наш новый div. Метод принимает this.div в качестве первого аргумента, имя события («щелчок») в качестве второго аргумента и обратный вызов, который будет выполняться при возникновении события, в качестве третьего аргумента. В нашем случае аргумент обратного вызова просто должен передать событие клика на это , который становится созданным маркером, когда мы используем наш класс. Подробнее об этом позже.

    Строка 10 метода draw использует метод getPanes , унаследованный от OverlayView , для получения панелей для текущего экземпляра карты. Панели — это то, что Карты Google называют различными слоями, в которые можно помещать объекты для отображения на карте. Для получения дополнительной информации о доступных панелях вы можете прочитать документацию здесь. Мы используем метод appendChild класса 9. 0247 overlayImage для добавления нашего элемента

    , хранящегося в this.div .

    Последним шагом в методе draw является позиционирование нашего недавно размещенного

    на правильную широту/долготу. Это можно сделать, захватив проекцию карты с помощью унаследованного метода getProjection , а затем вызвав метод fromLatLngToDivPixel для возвращенной проекции. Этот метод преобразует предоставленную широту/долготу в соответствующую позицию x, y на экране. Затем мы позиционируем div оставил свойства и top значениям x и y соответственно. Это также было бы идеальным местом для добавления смещения на основе пикселей для детальной настройки позиционирования визуализируемого элемента. В демо внизу этой статьи вы заметите, что я добавил смещение в 25 пикселей по высоте и ширине, так как изображение имеет квадрат 50 пикселей, и желаемый эффект заключался в центрировании изображения по предоставленной широте/долготе.

    Метод draw нашего класса завершен, но небольшой рефакторинг действительно может улучшить читаемость. Я решил преобразовать логику функции в три вспомогательных метода, названных в честь того, что они делают: createDiv , appendDivToOverlay и positionDiv . Вот переработанный метод вместе с вспомогательными методами, которые он использует:

    Мы готовы перейти к методу remove :

    Этот метод просто проверяет наличие элемента HTML, хранящегося в this.div . Если он существует, мы можем удалить его из DOM, вызвав removeChild из parentNode элемента div. После удаления из DOM мы также устанавливаем this.div null , чтобы ссылка на экземпляр также была удалена.

    Остальные методы, getPosition и getDraggable , очень просты:

    Метод getPosition просто возвращает широту/долготу, которые были сохранены в this. latlng в конструкторе, а возвращает 20gragable getDraggable логическое значение false , так как наш маркер нельзя будет перетаскивать.

    Мы закончили определение класса. Окончательное определение класса должно выглядеть примерно так:

    Поскольку мы расширяем класс OverlayView , предоставляемый библиотекой Google Maps JavaScript, нам необходимо гарантировать, что google.maps.OverlayView будет определено на момент его расширения.

    Если вы создаете приложение, которое не использует процесс сборки, вы можете определить класс HTMLMapMarker как прямое расширение OverlayView . Если глобальный объект google.maps определен во время определения класса, вы можете расширить класс напрямую:

     class HTMLMapMarker extends google.maps.OverlayView { 

    Однако, если вы работаете над проектом, который имеет какой-либо процесс сборки, есть очень большая вероятность, что google. maps.OverlayView НЕ будет определен раз вы пытаетесь использовать его для расширения класса HTMLMapMarker . И хотя добавление класса OverlayView непосредственно в код вашего проекта каким-то образом может решить проблему, это приведет к дублированию кода, поскольку OverlayView всегда будет загружаться при загрузке библиотеки Google Maps.

    Благодаря силе замыканий мы можем обернуть определение нашего класса таким образом, чтобы google.maps.OverlayView гарантированно был определен к моменту его использования. Никаких условий гонки, никакого дублирующегося кода.

    Назовем нашу функцию закрытия createHTMLMapMarker . Эта функция принимает объект с двумя свойствами: свойство OverlayView со значением по умолчанию google.maps.OverlayView и оператор паузы ( …args ) для сбора аргументов, переданных в createHTLMapMarker при его вызове.

    Благодаря этому небольшому изменению мы можем гарантировать, что google. maps.OverlayView будет определено к тому моменту, когда мы вызовем createHTMLMapMarker , поскольку у нас есть полный контроль над тем, когда вызывается createHTMLMapMarker .

    Теперь, когда у нас есть класс и замыкание, давайте воспользуемся ими! В оставшейся части руководства предполагается следующая структура папок:

     /index.html 
    /src/index.js
    /src/html-map-marker.js <-- Наше замыкание + определение класса
    /src/style.css

    В целях нашего руководства индекс . html нужно просто загрузить наш CSS, загрузить библиотеку JavaScript Google Maps и загрузить точку входа приложения по адресу src/index.js . Единственным элементом на странице является отдельный элемент

    с идентификатором map , который будет использоваться для отображения карты Google.

    Наш index.js определит новый экземпляр карты Google Maps , ориентированный на широту и долготу Тимбукту. Затем он определит маркер , используя импортированную функцию createHTMLMapMarker close, которую мы определили ранее, передав тот же latlng , экземпляр map и html для отображения в качестве содержимого маркера. Мы будем использовать попугая для вечеринок в теге изображения с атрибутом ID попугай для целей стиля.

    Помните, как мы определяли DOM-событие click в методе draw нашего класса HTMLMapMarker ? Как было сказано ранее, событие щелчка просто передается экземпляру маркера . Это позволяет нам добавить прослушиватель событий непосредственно к нашему вновь созданному маркеру с помощью метода addListener , как показано в строках 16–18 файла index.js .

    Стили в style.css просто заполнить страницу картой

    и примените границу, высоту и ширину к маркеру в качестве доказательства концепции.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *