/resources/assets/js/components/cafes/CafeMap.vue
— это место, где будет находиться вся логика нашей карты. В методе buildMarkers()
мы создаем все маркеры. Что ж, нам нужно привязать информационные окна к маркеру, так что здесь будет происходить наше кодирование.
Во-первых, нам нужно будет добавить массив infoWindows
к данным для компонента CafeMap.vue
. Мы будем хранить все наши информационные окна в этом массиве, чтобы мы могли вызывать методы для них, когда это необходимо. Теперь наши данные должны выглядеть так:
data(){
return {
markers: [],
infoWindows: []
}
},
Затем перейдите к методу buildMarkers()
в цикле for
. Там найдите объявление маркера. Ниже мы добавим следующий код:
/*
Create the info window and add it to the local
array.
*/
let infoWindow = new google.maps.InfoWindow({
content: this.cafes[i].name
});
this.infoWindows.push( infoWindow );
Что это делает, так это объявляет объект информационного окна, который объявляет название кафе. Если посмотреть в Google Docs: Информация Windows | API JavaScript Карт Google | Google Developers для информационных окон, вы можете добавить разметку HTML и действительно настроить внешний вид информационного окна. Мы будем делать это в обновлении обновления стиля, но сейчас мы просто получаем информационное окно для отображения.
Теперь нам просто нужно привязать щелчок к маркеру, чтобы открыть информационное окно. Для этого прямо под последним добавленным кодом добавьте:
/*
Add the event listener to open the info window for the marker.
*/
marker.addListener('click', function() {
infoWindow.open(this.map, this);
});
Что это делает, так это то, что когда пользователь нажимает на маркер, он открывает информационное окно на карте над this
, которое ссылается на маркер.
Когда вы нажимаете на один из маркеров на карте, вы должны увидеть информационное окно с названием кафе, которое оно представляет, как показано ниже:
Вывод
Добавить информационное окно довольно просто, сделать его красивым тоже несложно, так как мы будем использовать HTML. В следующей части урока мы проведем капитальный ремонт дизайна и любые изменения, которые я задокументирую в этом уроке. А пока наслаждайтесь информационным окном Google Maps на своей карте и обязательно ознакомьтесь с кодом здесь: GitHub — serversideup/roastandbrew.
Привет! Мы пишем книгу по разработке приложений на основе API. Узнай первым, как только он будет готов! Зарегистрируйтесь здесь: Регистрация для разработки приложений на основе API