Forráskód Böngészése

Posicionamiento por defecto en mapa asociado al layer

Maximiliano Schvindt 8 éve
szülő
commit
b785e3c015

+ 8 - 1
Controller/LeafletController.php

@@ -15,10 +15,16 @@ class LeafletController extends Controller
     {
 
         $vectors = array();
+        //{"lat":-34.6036844,"lng":-58.381559100000004,"zoom":10}   BS AS
+        $map = array('lat'=>-34.6036844,'lng'=>-58.381559100000004,'zoom'=>10);
 
         $em = $this->get('doctrine')->getManager();
         $layer = $em->getRepository("MapBundle\Entity\Layer")->findOneById($layerId);
+
         if(!is_null($layer)) {
+            if($layer->getMap()) {
+                $map = $layer->getMap()->jsonExtraData();
+            }
             $vectors = $em->getRepository("MapBundle\Entity\Vector")->findByLayer($layer);
         }
 
@@ -34,7 +40,8 @@ class LeafletController extends Controller
             'url_post' => $url_post,
             'url_delete' => $url_delete,
             'vectors' => $vectors,
-            'layerId' => $layerId
+            'layerId' => $layerId,
+            'map'   => $map
             ));
 
 

+ 8 - 3
Resources/views/Leaflet/create_vector.html.twig

@@ -9,7 +9,11 @@
 
 {% block list_table %}
 
-<div id="popups" style="display:none"></div>
+<div id="popups" style="display:none">
+    {% for vector in vectors %}
+    <div id="desc_vector_{{vector.getId()}}">{{vector.getDescription()|raw}}</div>
+    {% endfor %}
+</div>
 
 {% include 'LeafletBundle:Leaflet:resources.html.twig' %}
 
@@ -24,7 +28,7 @@
     var osmUrl = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
             osmAttrib = '&copy; <a href="http://openstreetmap.org/copyright">OpenStreetMap</a> contributors',
             osm = L.tileLayer(osmUrl, { maxZoom: 18, attribution: osmAttrib }),
-            map = new L.Map('map', { center: new L.LatLng(51.509700680916, -0.056858360712795), zoom: 15 }),
+            map = new L.Map('map', { center: new L.LatLng({{map['lat']}}, {{map['lng']}}), zoom: {{map['zoom']}} }),
             drawnItems = L.featureGroup().addTo(map);
     L.control.layers({
         'osm': osm.addTo(map),
@@ -153,7 +157,8 @@ function addElements() {
             object.name = name;
             object._uuid = _uuid;
             object.layerType = type;
-            object.bindPopup("<b>" + name + "</b><br /> {{vector.getDescription()|raw}} <br /> <div style='text-align:center'><a target='_blank'href='{{path('admin_map_vector_edit',{id: vector.getId()})}}'>edit</a></div>");
+            desc = $("#desc_vector_{{vector.getId()}}").html();
+            object.bindPopup("<b>" + name + "</b> <br />" + desc + " <div style='text-align:center'><a target='_blank'href='{{path('admin_map_vector_edit',{id: vector.getId()})}}'>edit</a></div>");
 
             drawnItems.addLayer(object);