Advertisement
Guest User

Untitled

a guest
Mar 31st, 2015
352
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. angular.module('portfolio').controller('slider', function($scope, $location, $rootScope, projectsService, $element) {
  2.  
  3.     // Map
  4.     var mapArgs = {
  5.         zoom: 14,
  6.         scrollwheel: false,
  7.         center: new google.maps.LatLng(51, 17),
  8.         mapTypeId: google.maps.MapTypeId.ROADMAP,
  9.  
  10.         mapTypeControl: false,
  11.         panControl: false,
  12.         zoomControl: true,
  13.         zoomControlOptions: {
  14.             style: google.maps.ZoomControlStyle.LARGE,
  15.             position: google.maps.ControlPosition.LEFT_CENTER
  16.         },
  17.         streetViewControl: false
  18.     };
  19.     var map = new google.maps.Map($element[0], mapArgs);
  20.     delete mapArgs;
  21.  
  22.     var projects = projectsService.projects;
  23.     if (projects.length > 0) {
  24.         var latlngbounds = new google.maps.LatLngBounds();
  25.         for (q = 0; q < projects.length; q++) {
  26.             if (projects[q].map.lat == "") continue;
  27.  
  28.             var latLng = new google.maps.LatLng(projects[q].map.lat, projects[q].map.lng);
  29.             latlngbounds.extend(latLng);
  30.  
  31.             var marker = new google.maps.Marker({
  32.                 position: latLng,
  33.                 map: map,
  34.                 animation: google.maps.Animation.DROP,
  35.                 title: projects[q].name
  36.             });
  37.            
  38.             (function(pid) {
  39.                 google.maps.event.addListener(marker, 'click', function() {
  40.                     $rootScope.$apply(function() {
  41.                         $location.path('/project/' + pid);
  42.                     });
  43.                 })
  44.             })(projects[q].id);
  45.  
  46.             delete marker;
  47.         }
  48.         // console.log(map.zoom);
  49.         map.setCenter(latlngbounds.getCenter());
  50.         map.fitBounds(latlngbounds);
  51.  
  52.         google.maps.event.addListener(map, 'mouseover', function() {
  53.             $('main').addClass('mapMouseOver');
  54.         })
  55.         google.maps.event.addListener(map, 'mouseout', function() {
  56.             $('main').removeClass('mapMouseOver');
  57.         })
  58.     }
  59.  
  60.     // Banner image
  61.     var $projectBanner = $('<div id="projectBanner"></div>').appendTo($element);
  62.     var $banner = $('<div></div>').appendTo($projectBanner);
  63.  
  64.     delete $projectBanner;
  65.  
  66.     // On change location
  67.     $scope.$on('$routeChangeStart', function(next, current) {
  68.         if (current.controller == 'project') {
  69.             var project = projectsService.getById(current.params.id);
  70.             $banner.css({
  71.                 'background-image': 'url(' + project.banner.url + ')'
  72.             });
  73.  
  74.             $banner.attr('data-img-width', project.banner.width);
  75.             $banner.attr('data-img-height', project.banner.height);
  76.  
  77.             window.$topBanner = $banner;
  78.             $(window).trigger('resize');
  79.  
  80.             delete project;
  81.         }
  82.         else {
  83.             window.$topBanner = null;
  84.         }
  85.     });
  86.  
  87. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement