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: ['$scope', '$filter', function($scope, $filter) { $scope.markers = []; $scope.$watch('marcadores', function() { for(var i in $scope.markers) { $scope.map.removeLayer($scope.markers[i]); } $scope.markers = []; angular.forEach($scope.marcadores, function(marcador) { var observacion = ''; if ($scope.parametros.actividad === 'Nota de pedido') { observacion += 'Vendedor: ' + marcador.notaPedido.idVendedor + ' - ' + ( marcador.notaPedido.vendedor ? marcador.notaPedido.vendedor.NomVen : '' ) + '
'; observacion += 'Fecha: ' + $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + ' ' + marcador.fecha.slice(11,19) + '
'; observacion += 'NÂș: ' + $filter('comprobante')([ marcador.notaPedido.sucursal, marcador.notaPedido.numeroNotaPedido ]) + '
'; observacion += 'Cliente: ' + marcador.notaPedido.cliente.NOM + '
'; if ($scope.parametros.individual) { observacion += 'Total: ' + $filter('currency')(marcador.notaPedido.total, '$'); observacion = 'Orden: ' + marcador.orden + '
' + observacion; } else { observacion += 'Cantidad de nota de pedido: ' + marcador.cantidad + '
'; observacion += 'Total Vendido: ' + $filter('currency')(marcador.total, '$'); } } else { observacion += 'Vehiculo: ' + marcador.remito.hojaRuta.idVehiculo + ' - ' + marcador.remito.hojaRuta.vehiculo.tractor + '
'; observacion += 'Transportista: ' + marcador.remito.hojaRuta.transportista.NOM + '
'; observacion += 'Chofer: ' + marcador.remito.hojaRuta.chofer.nombre + '
'; observacion += 'Fecha: ' + $filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + ' ' + marcador.fecha.slice(11,19) + '
'; observacion += 'Hoja de ruta: ' + $filter('comprobante')([ marcador.remito.hojaRuta.sucursal, marcador.remito.hojaRuta.numeroHojaRuta ]) + '
'; observacion += 'Remito: ' + $filter('comprobante')([ marcador.remito.sucursal, marcador.remito.numeroRemito ]) + '
'; observacion += 'Cliente: ' + marcador.remito.cliente.NOM + '
'; if ($scope.parametros.individual) { observacion += 'Producto: ' + marcador.remito.articulosRemito[0].descripcion + '
'; observacion += 'Cantidad entregada: ' + marcador.remito.carga + '
'; observacion += 'Observaciones: ' + marcador.observaciones; observacion = 'Orden: ' + marcador.orden + '
' + observacion; } else { observacion += 'Cantidad de entregas: ' + marcador.cantidad; } } $scope.markers.push( L.marker([marcador.latitud, marcador.longitud]).addTo($scope.map) .bindPopup(observacion) ); $scope.markers[0].openPopup(); }); }); }], scope: { latitud: '=', longitud: '=', zoom: '=', marcadores: '=', parametros: '=' } }; });