|
@@ -12,15 +12,12 @@
|
|
{% include 'LeafletBundle:Leaflet:resources.html.twig' %}
|
|
{% include 'LeafletBundle:Leaflet:resources.html.twig' %}
|
|
|
|
|
|
<script type="text/javascript">
|
|
<script type="text/javascript">
|
|
-
|
|
|
|
window.SONATA_CONFIG.USE_ICHECK = false;
|
|
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 uuid = {{uuid}};
|
|
|
|
+ var layerId = {{layerId}};
|
|
|
|
+
|
|
|
|
+ //$( document ).ready(function() {});
|
|
|
|
|
|
var osmUrl = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
|
|
var osmUrl = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
|
|
osmAttrib = '© <a href="http://openstreetmap.org/copyright">OpenStreetMap</a> contributors',
|
|
osmAttrib = '© <a href="http://openstreetmap.org/copyright">OpenStreetMap</a> contributors',
|
|
@@ -34,6 +31,9 @@
|
|
})
|
|
})
|
|
}, { 'drawlayer': drawnItems }, { position: 'topleft', collapsed: false }).addTo(map);
|
|
}, { 'drawlayer': drawnItems }, { position: 'topleft', collapsed: false }).addTo(map);
|
|
|
|
|
|
|
|
+ addElements();
|
|
|
|
+
|
|
|
|
+
|
|
map.addControl(new L.Control.Draw({
|
|
map.addControl(new L.Control.Draw({
|
|
edit: {
|
|
edit: {
|
|
featureGroup: drawnItems,
|
|
featureGroup: drawnItems,
|
|
@@ -56,10 +56,12 @@
|
|
layer.layerType = event.layerType;
|
|
layer.layerType = event.layerType;
|
|
drawnItems.addLayer(layer);
|
|
drawnItems.addLayer(layer);
|
|
|
|
|
|
-
|
|
|
|
drawnItems.eachLayer(function(layer) {
|
|
drawnItems.eachLayer(function(layer) {
|
|
- layer._mi_id = uid + "_" + layer._leaflet_id;
|
|
|
|
-
|
|
|
|
|
|
+ if (typeof layer._uuid !== 'undefined') {
|
|
|
|
+ // nada
|
|
|
|
+ } else {
|
|
|
|
+ layer._uuid = uuid + "_" + layer._leaflet_id;
|
|
|
|
+ }
|
|
});
|
|
});
|
|
|
|
|
|
});
|
|
});
|
|
@@ -68,7 +70,7 @@
|
|
|
|
|
|
var layers = event.layers;
|
|
var layers = event.layers;
|
|
layers.eachLayer(function(layer) {
|
|
layers.eachLayer(function(layer) {
|
|
- console.log("DELETE: " + layer._mi_id + "=>" + layer._leaflet_id);
|
|
|
|
|
|
+ console.log("DELETE: " + layer._uuid + "=>" + layer._leaflet_id);
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
@@ -76,6 +78,7 @@
|
|
|
|
|
|
function saveData() {
|
|
function saveData() {
|
|
var vectorData = new Array();
|
|
var vectorData = new Array();
|
|
|
|
+
|
|
drawnItems.eachLayer(function(layer) {
|
|
drawnItems.eachLayer(function(layer) {
|
|
|
|
|
|
if(layer.layerType == "marker") {
|
|
if(layer.layerType == "marker") {
|
|
@@ -88,26 +91,61 @@ function saveData() {
|
|
data = [layer._latlngs[0]];
|
|
data = [layer._latlngs[0]];
|
|
}
|
|
}
|
|
|
|
|
|
- object = {'_mi_id': layer._mi_id, 'layer_type': layer.layerType, 'data': data, 'layer_id': layer_id};
|
|
|
|
|
|
+ object = {'_uuid': layer._uuid, 'layerType': layer.layerType, 'data': data, 'layerId': layerId};
|
|
vectorData.push(object);
|
|
vectorData.push(object);
|
|
});
|
|
});
|
|
|
|
|
|
console.log(vectorData);
|
|
console.log(vectorData);
|
|
- sendData = {'layerId' : layer_id, 'vectors' : vectorData};
|
|
|
|
|
|
+ sendData = {'layerId' : layerId, 'vectors' : vectorData};
|
|
var json = JSON.stringify(sendData);
|
|
var json = JSON.stringify(sendData);
|
|
|
|
|
|
$.ajax({
|
|
$.ajax({
|
|
type: "POST",
|
|
type: "POST",
|
|
- url: "{{ url ('admin_leaflet_vector_save') }}",
|
|
|
|
|
|
+ url: "{{ url (url_post) }}",
|
|
data: json,
|
|
data: json,
|
|
contentType: "application/json; charset=utf-8",
|
|
contentType: "application/json; charset=utf-8",
|
|
dataType: "json",
|
|
dataType: "json",
|
|
success: function(msg) {
|
|
success: function(msg) {
|
|
- console.log(msg);
|
|
|
|
|
|
+ alert(msg.msg);
|
|
|
|
+ //console.log(msg);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+function addElements() {
|
|
|
|
+
|
|
|
|
+ console.log({{vectors|length}});
|
|
|
|
+ {% if vectors|length > 0 %}
|
|
|
|
+ {% for vector in vectors %}
|
|
|
|
+ name = "{{vector.getName()}}";
|
|
|
|
+ type = "{{vector.getType()}}"
|
|
|
|
+ _uuid = "{{vector.getUuid()}}"
|
|
|
|
+ data = JSON.parse("{{vector.getData()}}".replace(/"/g,'"'));
|
|
|
|
+
|
|
|
|
+ if(type == "marker") {
|
|
|
|
+ object = new L.marker([data[0]['lat'], data[0]['lng']]);
|
|
|
|
+ } else if (type == "circle") {
|
|
|
|
+ object = new L.circle([data[0]['lat'], data[0]['lng']], data[1]);
|
|
|
|
+ } else if (type == "polyline") {
|
|
|
|
+ object = new L.Polyline({{vector.getPolylinePoints()}});
|
|
|
|
+ } else if (type == "rectangle"){
|
|
|
|
+ object = new L.Rectangle({{vector.getPolylinePoints()}});
|
|
|
|
+ } else {
|
|
|
|
+ object = new L.Polygon({{vector.getPolylinePoints()}});
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ object.name = name;
|
|
|
|
+ object._uuid = _uuid;
|
|
|
|
+ object.layerType = type;
|
|
|
|
+ object.bindPopup("<b>" + name + "</b><br>");
|
|
|
|
+
|
|
|
|
+ drawnItems.addLayer(object);
|
|
|
|
+
|
|
|
|
+ {% endfor %}
|
|
|
|
+ {% endif %}
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
</script>
|
|
</script>
|
|
|
|
|
|
{% endblock %}
|
|
{% endblock %}
|