/** * @Route("ver/") * @Template() */ public function verAction(Request $request) { $ResultadoVer = $this->parent_verAction($request); $res = $ResultadoVer['res']; if ($res->Entidad->getObs() == null) { $res->Entidad->setObs('Serie ' . $res->Entidad->getNumeroSerie()); } $em = $this->getEm(); $UltimoRastreo = $em->getRepository('Yacare\\BaseBundle\\Entity\\DispositivoRastreo')->findBy(array('Dispositivo' => $res->Entidad->getId()), array('id' => 'DESC'), 1); if (count($UltimoRastreo) == 1) { // Si es un array de un 1 elemento, lo convierto en un elemento plano. $UltimoRastreo = $UltimoRastreo[0]; } $res->UltimoRastreo = $UltimoRastreo; $Mapa = new Maps\Map(); if ($UltimoRastreo) { $Mapa->addMarker($this->CrearMarcador($UltimoRastreo, $res->Entidad)); $Mapa->setCenter(new Maps\Point($UltimoRastreo->getUbicacion()->getX(), $UltimoRastreo->getUbicacion()->getY())); } else { $Mapa->setCenter(new Maps\Point(-53.789858, -67.692911)); } $UltimosRastreos = $em->getRepository('Yacare\\BaseBundle\\Entity\\DispositivoRastreo')->findBy(array('Dispositivo' => $res->Entidad->getId()), array('id' => 'DESC'), 100); if ($UltimosRastreos) { $polyline = new Maps\Polyline(); //$polyline->setOption('strokeColor', '#ff0000'); //$polyline->setOption('strokeOpacity', '0.3'); foreach ($UltimosRastreos as $Rastreo) { $polyline->addPoint(new Maps\Point($Rastreo->getUbicacion()->getX(), $Rastreo->getUbicacion()->getY())); } $Mapa->addPolyline($polyline); } $res->Mapa = $Mapa; return $ResultadoVer; }
/** * @Route("mapa/") * @Template() */ public function mapaAction(Request $request) { $ResultadoVer = $this->parent_verAction($request); $res = $ResultadoVer['res']; $Partida = $res->Entidad; if ($Partida->getUbicacion()) { // Creo un mapa con la ubicación $Mapa = new Maps\Map(); $Marcador = new Maps\Marker(); $Marcador->setPosition(new Maps\Point($Partida->getUbicacion()->getX(), $Partida->getUbicacion()->getY())); $Marcador->setDescription('<strong>' . $Partida->getDomicilio() . '</strong><br />' . $Partida->getSmpu() . '<br />' . $Partida->getTitular()); $Mapa->addMarker($Marcador); $Mapa->setCenter($Marcador->getPosition()); $res->Mapa = $Mapa; } return $ResultadoVer; }