|
@@ -139,6 +139,11 @@ class StatsController extends Controller
|
|
|
$setLatLng = $setZoom = true;
|
|
|
$srs = $data['featureType']['nativeBoundingBox'];
|
|
|
}
|
|
|
+ } else {
|
|
|
+ $translator = $this->get('translator');
|
|
|
+ $flashbag = $this->get('session')->getFlashBag();
|
|
|
+ $flashbag->add("error", $translator->trans("msg_no_exist_map",array(),"StatsBundle"));
|
|
|
+ return $this->redirect($this->generateUrl('admin_stats_onu_list'));
|
|
|
}
|
|
|
|
|
|
if($setLatLng) {
|
|
@@ -340,44 +345,49 @@ class StatsController extends Controller
|
|
|
$data = $api->getLayerData("deviceServer_1", $layer);
|
|
|
|
|
|
$setLatLng = $setZoom = false;
|
|
|
+
|
|
|
+ if(!empty($data)) {
|
|
|
+ if(isset($data['featureType']['latLonBoundingBox'])) {
|
|
|
+ $setLatLng = $setZoom = true;
|
|
|
+ $srs = $data['featureType']['latLonBoundingBox'];
|
|
|
+ } elseif(isset($data['featureType']['nativeBoundingBox'])) {
|
|
|
+ $setLatLng = $setZoom = true;
|
|
|
+ $srs = $data['featureType']['nativeBoundingBox'];
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ $translator = $this->get('translator');
|
|
|
+ $flashbag = $this->get('session')->getFlashBag();
|
|
|
+ $flashbag->add("error", $translator->trans("msg_no_exist_map",array(),"StatsBundle"));
|
|
|
+ return $this->redirect($this->generateUrl('admin_stats_ponport_list'));
|
|
|
+ }
|
|
|
|
|
|
- if(!empty($data)) {
|
|
|
- if(isset($data['featureType']['latLonBoundingBox'])) {
|
|
|
- $setLatLng = $setZoom = true;
|
|
|
- $srs = $data['featureType']['latLonBoundingBox'];
|
|
|
- } elseif(isset($data['featureType']['nativeBoundingBox'])) {
|
|
|
- $setLatLng = $setZoom = true;
|
|
|
- $srs = $data['featureType']['nativeBoundingBox'];
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if($setLatLng) {
|
|
|
- $lng = $srs['minx'] + ($srs['maxx'] - $srs['minx']) / 2;
|
|
|
- $lat = $srs['miny'] + ($srs['maxy'] - $srs['miny']) / 2;
|
|
|
- }
|
|
|
-
|
|
|
- if($setZoom) {
|
|
|
- $lngDiff = $srs['maxx'] - $srs['minx'];
|
|
|
- $latDiff = $srs['maxy'] - $srs['miny'];
|
|
|
- $maxDiff = ($lngDiff > $latDiff) ? $lngDiff : $latDiff;
|
|
|
- if ($maxDiff < 360 / pow(2, 20)) {
|
|
|
- $zoom = 21;
|
|
|
- } else {
|
|
|
- $zoom = (-1*( (log($maxDiff)/log(2)) - (log(360)/log(2)))) + 1;
|
|
|
- if ($zoom < 1) $zoom = 1;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- $map = array('lat' => $lat, 'lng' => $lng, 'zoom' => $zoom);
|
|
|
+ if($setLatLng) {
|
|
|
+ $lng = $srs['minx'] + ($srs['maxx'] - $srs['minx']) / 2;
|
|
|
+ $lat = $srs['miny'] + ($srs['maxy'] - $srs['miny']) / 2;
|
|
|
+ }
|
|
|
|
|
|
- return $this->render('StatsBundle:Stats:ponport_map.html.twig', array(
|
|
|
- 'base_template' => $adminPool->getTemplate('layout'),
|
|
|
- 'admin_pool' => $adminPool,
|
|
|
- 'admin' => $adminPool->getAdminByClass("StatsBundle\Entity\PonPort"),
|
|
|
- 'map' => $map,
|
|
|
- 'layer' => $layer,
|
|
|
- 'ponPort' => $ponPort
|
|
|
- ));
|
|
|
- }
|
|
|
+ if($setZoom) {
|
|
|
+ $lngDiff = $srs['maxx'] - $srs['minx'];
|
|
|
+ $latDiff = $srs['maxy'] - $srs['miny'];
|
|
|
+ $maxDiff = ($lngDiff > $latDiff) ? $lngDiff : $latDiff;
|
|
|
+ if ($maxDiff < 360 / pow(2, 20)) {
|
|
|
+ $zoom = 21;
|
|
|
+ } else {
|
|
|
+ $zoom = (-1*( (log($maxDiff)/log(2)) - (log(360)/log(2)))) + 1;
|
|
|
+ if ($zoom < 1) $zoom = 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $map = array('lat' => $lat, 'lng' => $lng, 'zoom' => $zoom);
|
|
|
+
|
|
|
+ return $this->render('StatsBundle:Stats:ponport_map.html.twig', array(
|
|
|
+ 'base_template' => $adminPool->getTemplate('layout'),
|
|
|
+ 'admin_pool' => $adminPool,
|
|
|
+ 'admin' => $adminPool->getAdminByClass("StatsBundle\Entity\PonPort"),
|
|
|
+ 'map' => $map,
|
|
|
+ 'layer' => $layer,
|
|
|
+ 'ponPort' => $ponPort
|
|
|
+ ));
|
|
|
+ }
|
|
|
|
|
|
}
|