Ui-maps - отличный инструмент для интеграции карт Google в ваше приложение angular. На мой взгляд, использование ui-карт намного проще, чем использование Fusion Tables. Например, вместо того, чтобы вводить данные на панели инструментов таблицы Fusion, все можно сделать в вашем собственном коде. Мне также очень нравится внешний вид пользовательских карт.
Перво-наперво вам нужно установить ui-карты в свой проект с помощью bower:
bower install angular-ui-map
Если у вас нет беседки, перейдите на сайт беседки и установите ее.
Теперь, когда все готово, вам нужно перейти в Google и получить ключ API для карт Google. Как только у вас есть это, вам нужно добавить уникальный ключ к URL-адресу api для карт Google. Макет этого URL-адреса должен выглядеть следующим образом:
https://maps.googleapis.com/maps/api/js?key=YOUR_UNIQUE_KEY&callback=initMap
**** Вы должны поместить свой уникальный ключ, предоставленный Google, где я поставил YOUR_UNIQUE_KEY ****. Теперь добавьте URL-адрес в тег скрипта на вашей html-странице.
Хорошо, теперь вы готовы использовать эту карту в Angular с ui-картами! Вот пример того, как я разместил карту на своей странице с помощью ui-maps:
<div id="map" ui-map="model.myMap" class="angular-google-map-container" ui-options="mapOptions"></div>
Div, который вы видите здесь, - это сама карта. Чтобы сделать эту карту видимой, установите ее ширину. Обычно я просто устанавливаю его на 400 пикселей, вот так:
.angular-google-map-container { height: 400px; }
Вы можете установить свою карту и параметры карты как объекты в области действия контроллера, перенести эти объекты в html div, затем BAM, у вас есть карта! Вот мой контроллер для карты выше:
$scope.lat = "0"; $scope.lng = "0"; $scope.model = { myMap: new google.maps.Map(document.getElementById('map') }; $scope.mapOptions = { center: new google.maps.LatLng($scope.lat, $scope.lng), zoom: 14, mapTypeId: google.maps.MapTypeId.ROADMAP, clickable: true };
Это даст вам базовую карту, настроенную на любую желаемую широту и долготу. Это лишь некоторые из основных параметров карты, но дополнительные параметры можно найти в документации по API карт Google.
Теперь, когда у вас есть эта карта, подумайте, как вы можете изменить ее состояние с помощью Angular!