Я пытаюсь создать приложение AngularJS для демонстрации, которая должна использовать Google Maps.
Мне нужно сделать приложение на основе компонента AngularJS.Первая проблема, с которой я столкнулся, заключается в том, что я получаю сообщение об ошибке при попытке создать карту, используя:
var mapOptions = {
zoom: 4,
center: new google.maps.LatLng(0, 0),
mapTypeId: google.maps.MapTypeId.TERRAIN,
streetViewControl: false
}
$scope.map = new google.maps.Map(document.getElementById('map'), mapOptions);
Это потому, что он использует getElementById в контроллере Componentet?Как мне это сделать?
Как лучше всего это делать с компонентами AngularJS и GoogleMaps?
Я искал свои учебные ресурсы и не нашел ничего, что решает эту проблему.Я также попробовал некоторые идеи, которые нашел в StackOverflow, но ни одна из них не решила.
Я получил некоторый код в документации GoogleMaps, но это не сработало и не было никаких объяснений.
По сути, мне нужна карта с левой стороны веб-страницы с несколькими маркерами и панель размером 400 пикселей справа.При нажатии маркеры должны показывать некоторые данные.Данные в основном представляют собой массив объектов JavaScript (жестко закодированные данные для демонстрации, без доступа к данным веб-API или базы данных).На правой панели будет метка заголовка, которая будет просто отображать имя свойства выбранного элемента.Ниже этого будет список имен всех элементов данных.Если щелкнуть один из них, он должен приблизиться к соответствующему маркеру на карте.Под списком имен будет панель с подробностями.Это покажет детали выбранного элемента и должно меняться всякий раз, когда выбирается новый элемент, либо путем нажатия на маркер на карте, либо путем нажатия на имя в списке.
Итак, все они должны быть компонентами.Но я не смог найти способ связи между компонентами.Там нет необходимости какой-либо маршрутизации.Это почти основная деталь, но все данные находятся в массиве объектов JavaScript.
Любая помощь приветствуется, так как я провел дни, копая, просматривая видео и пытаясь найти способ сделать это, но я не нашел ничего, что правильно показывает и объясняет, как это сделать.