|
@@ -1,7 +1,3 @@
|
|
|
-{#{% extends "@BaseAdminBundle/Resources/views/standard_layout.html.twig" %}#}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
{% extends 'SonataAdminBundle:CRUD:base_list.html.twig' %}
|
|
|
|
|
|
{% block actions %}
|
|
@@ -16,14 +12,21 @@
|
|
|
{% include 'LeafletBundle:Leaflet:resources.html.twig' %}
|
|
|
|
|
|
<script type="text/javascript">
|
|
|
-
|
|
|
- var osmUrl = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
|
|
|
- osmAttrib = '© <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.505, -0.04), zoom: 13 }),
|
|
|
- drawnItems = L.featureGroup().addTo(map);
|
|
|
-
|
|
|
+
|
|
|
+ window.SONATA_CONFIG.USE_ICHECK = false;
|
|
|
+
|
|
|
+ var elements = new Array();
|
|
|
+ var uid = {{uid}};
|
|
|
+ var layer_id = 1;
|
|
|
+ var element_id = 1;
|
|
|
+
|
|
|
+ $( document ).ready(function() {});
|
|
|
+
|
|
|
+ var osmUrl = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
|
|
|
+ osmAttrib = '© <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.505, -0.04), zoom: 13 }),
|
|
|
+ drawnItems = L.featureGroup().addTo(map);
|
|
|
L.control.layers({
|
|
|
'osm': osm.addTo(map),
|
|
|
"google": L.tileLayer('http://www.google.cn/maps/vt?lyrs=s@189&gl=cn&x={x}&y={y}&z={z}', {
|
|
@@ -47,15 +50,63 @@
|
|
|
}));
|
|
|
|
|
|
map.on(L.Draw.Event.CREATED, function (event) {
|
|
|
+
|
|
|
var layer = event.layer;
|
|
|
- console.log(event);
|
|
|
- console.log(drawnItems);
|
|
|
-
|
|
|
+
|
|
|
+ layer.layerType = event.layerType;
|
|
|
drawnItems.addLayer(layer);
|
|
|
+
|
|
|
+
|
|
|
+ drawnItems.eachLayer(function(layer) {
|
|
|
+ layer._mi_id = uid + "_" + layer._leaflet_id;
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+ map.on(L.Draw.Event.DELETED, function (event) {
|
|
|
+
|
|
|
+ var layers = event.layers;
|
|
|
+ layers.eachLayer(function(layer) {
|
|
|
+ console.log("DELETE: " + layer._mi_id + "=>" + layer._leaflet_id);
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+function saveData() {
|
|
|
+ var vectorData = new Array();
|
|
|
+ drawnItems.eachLayer(function(layer) {
|
|
|
+
|
|
|
+ if(layer.layerType == "marker") {
|
|
|
+ data = [layer._latlng];
|
|
|
+ } else if (layer.layerType == "circle") {
|
|
|
+ data = [layer._latlng, layer._mRadius];
|
|
|
+ } else if (layer.layerType == "polyline") {
|
|
|
+ data = [layer._latlngs];
|
|
|
+ } else {
|
|
|
+ data = [layer._latlngs[0]];
|
|
|
+ }
|
|
|
|
|
|
- var data = drawnItems.toGeoJSON();
|
|
|
- console.log(data);
|
|
|
+ object = {'_mi_id': layer._mi_id, 'layer_type': layer.layerType, 'data': data, 'layer_id': layer_id};
|
|
|
+ vectorData.push(object);
|
|
|
+ });
|
|
|
+
|
|
|
+ console.log(vectorData);
|
|
|
+ sendData = {'layerId' : layer_id, 'vectors' : vectorData};
|
|
|
+ var json = JSON.stringify(sendData);
|
|
|
+
|
|
|
+ $.ajax({
|
|
|
+ type: "POST",
|
|
|
+ url: "{{ url ('admin_leaflet_vector_save') }}",
|
|
|
+ data: json,
|
|
|
+ contentType: "application/json; charset=utf-8",
|
|
|
+ dataType: "json",
|
|
|
+ success: function(msg) {
|
|
|
+ console.log(msg);
|
|
|
+ }
|
|
|
});
|
|
|
+}
|
|
|
|
|
|
</script>
|
|
|
|
|
@@ -70,10 +121,12 @@
|
|
|
<h3 class="box-title">Create Vector</h3>
|
|
|
</div>
|
|
|
<div class="box-body">
|
|
|
- {#<div class="clearfix" style="width:100%; margin-top:50px">#}
|
|
|
<div id="map" style="margin:0 auto; width: 80%; height: 600px; border: 1px solid #ccc"></div>
|
|
|
- {#</div>#}
|
|
|
- {#MAP#}
|
|
|
+ <br />
|
|
|
+ <button onclick="saveData()" class="btn btn-block btn-primary" type="button">Guardar vectores</button>
|
|
|
+ <br />
|
|
|
+ <div id="datamaps">
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|