123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- /* global console:false, google:false */
- /*jshint unused:false */
- 'use strict';
- app.controller('MapCtrl', ['$scope', function ($scope) {
- $scope.myMarkers = [];
- $scope.mapOptions = {
- center: new google.maps.LatLng(35.784, -78.670),
- zoom: 15,
- mapTypeId: google.maps.MapTypeId.ROADMAP
- };
- $scope.addMarker = function ($event, $params) {
- $scope.myMarkers.push(new google.maps.Marker({
- map: $scope.myMap,
- position: $params[0].latLng
- }));
- };
- $scope.setZoomMessage = function (zoom) {
- $scope.zoomMessage = 'You just zoomed to ' + zoom + '!';
- console.log(zoom, 'zoomed');
- };
- $scope.openMarkerInfo = function (marker) {
- $scope.currentMarker = marker;
- $scope.currentMarkerLat = marker.getPosition().lat();
- $scope.currentMarkerLng = marker.getPosition().lng();
- $scope.myInfoWindow.open($scope.myMap, marker);
- };
- $scope.setMarkerPosition = function (marker, lat, lng) {
- marker.setPosition(new google.maps.LatLng(lat, lng));
- };
- }])
- ;
- app.directive('uiEvent', ['$parse',
- function ($parse) {
- return function ($scope, elm, attrs) {
- var events = $scope.$eval(attrs.uiEvent);
- angular.forEach(events, function (uiEvent, eventName) {
- var fn = $parse(uiEvent);
- elm.bind(eventName, function (evt) {
- var params = Array.prototype.slice.call(arguments);
- //Take out first paramater (event object);
- params = params.splice(1);
- fn($scope, {$event: evt, $params: params});
- if (!$scope.$$phase) {
- $scope.$apply();
- }
- });
- });
- };
- }]);
|