angular.module('focaAdminSeguimiento').directive('osm', function() { return { restrict: 'E', link: function(scope, el, attrs) { var contenedor = document.createElement('div'); el.append(contenedor); scope.map = L.map(contenedor).setView([attrs.latitud, attrs.longitud], attrs.zoom); L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(scope.map); }, controller: function($scope) { $scope.$watch('marcadores', function(valorNuevo) { marcadores = $scope.marcadores; mapa = $scope.map; angular.forEach($scope.marcadores, function(marcador) { L.marker([marcador.latitud, marcador.longitud]).addTo($scope.map) .bindPopup( "Actividad: " + marcador.actividad + '
' + 'Fecha: ' + marcador.fecha ).openPopup(); }); }); }, scope: { latitud: '=', longitud: '=', zoom: '=', marcadores: '=' } }; });