Add security to make not to longer cadastre request
This commit is contained in:
parent
4d812220fd
commit
0c2bbc482f
5 changed files with 55 additions and 13 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -28,6 +28,5 @@ config/initializers/token.rb
|
||||||
doc/*.svg
|
doc/*.svg
|
||||||
rubocop.html
|
rubocop.html
|
||||||
config/france_connect.yml
|
config/france_connect.yml
|
||||||
vendor/**/*
|
|
||||||
uploads/*
|
uploads/*
|
||||||
|
|
||||||
|
|
|
@ -25,3 +25,4 @@
|
||||||
//= require graham_scan.min
|
//= require graham_scan.min
|
||||||
//= require leaflet.freedraw
|
//= require leaflet.freedraw
|
||||||
//= require smart_listing
|
//= require smart_listing
|
||||||
|
//= require turf
|
||||||
|
|
|
@ -21,17 +21,17 @@ function get_cadastre(coordinates) {
|
||||||
return cadastre['cadastres'];
|
return cadastre['cadastres'];
|
||||||
}
|
}
|
||||||
|
|
||||||
function display_cadastre(cadastre_list) {
|
function display_cadastre(cadastre_array) {
|
||||||
if (!cadastre_active())
|
if (!cadastre_active())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
cadastre_array = cadastre_list;
|
|
||||||
|
|
||||||
$("#cadastre.list ul").html('');
|
$("#cadastre.list ul").html('');
|
||||||
|
|
||||||
new_cadastreLayer();
|
new_cadastreLayer();
|
||||||
|
|
||||||
if (cadastre_array.length > 0) {
|
if (cadastre_array.length == 1 && cadastre_array[0]['zoom_error'])
|
||||||
|
$("#cadastre.list ul").html('<li><b>Merci de dessiner une surface plus petite afin de récupérer les parcelles cadastrales.</b></li>');
|
||||||
|
|
||||||
|
else if (cadastre_array.length > 0) {
|
||||||
cadastre_array.forEach(function (cadastre) {
|
cadastre_array.forEach(function (cadastre) {
|
||||||
$("#cadastre.list ul").append('<li> Parcelle n°' + cadastre.numero + ' - Feuille ' + cadastre.code_arr + ' ' + cadastre.section + ' ' + cadastre.feuille+ '</li>');
|
$("#cadastre.list ul").append('<li> Parcelle n°' + cadastre.numero + ' - Feuille ' + cadastre.code_arr + ' ' + cadastre.section + ' ' + cadastre.feuille+ '</li>');
|
||||||
|
|
||||||
|
@ -56,6 +56,5 @@ function new_cadastreLayer() {
|
||||||
map.removeLayer(cadastreItems);
|
map.removeLayer(cadastreItems);
|
||||||
|
|
||||||
cadastreItems = new L.GeoJSON();
|
cadastreItems = new L.GeoJSON();
|
||||||
|
|
||||||
cadastreItems.addTo(map);
|
cadastreItems.addTo(map);
|
||||||
}
|
}
|
|
@ -41,17 +41,42 @@ function initCarto() {
|
||||||
add_event_freeDraw();
|
add_event_freeDraw();
|
||||||
}
|
}
|
||||||
|
|
||||||
function default_position (){
|
function default_position() {
|
||||||
return {lon: LON, lat: LAT, zoom: 13}
|
return {lon: LON, lat: LAT, zoom: 13}
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_external_data (latLngs){
|
function get_external_data(latLngs) {
|
||||||
|
|
||||||
if (qp_active())
|
if (qp_active())
|
||||||
display_qp(get_qp(latLngs));
|
display_qp(get_qp(latLngs));
|
||||||
|
|
||||||
if (cadastre_active())
|
if (cadastre_active()) {
|
||||||
display_cadastre(get_cadastre(latLngs));
|
cadastre_list = [];
|
||||||
|
|
||||||
|
polygons = {"type": "FeatureCollection", "features": []};
|
||||||
|
|
||||||
|
for (i = 0; i < latLngs.length; i++)
|
||||||
|
polygons.features.push(feature_polygon_latLngs(latLngs[i]))
|
||||||
|
|
||||||
|
if (turf.area(polygons) < 300000)
|
||||||
|
cadastre_list = get_cadastre(latLngs);
|
||||||
|
else
|
||||||
|
cadastre_list = [{zoom_error: true}];
|
||||||
|
|
||||||
|
display_cadastre(cadastre_list);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function feature_polygon_latLngs(coordinates) {
|
||||||
|
return ({
|
||||||
|
"type": "Feature",
|
||||||
|
"properties": {},
|
||||||
|
"geometry": {
|
||||||
|
"type": "Polygon",
|
||||||
|
"coordinates": [
|
||||||
|
JSON.parse(L.FreeDraw.Utilities.getJsonPolygons([coordinates]))['latLngs']
|
||||||
|
]
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function add_event_freeDraw() {
|
function add_event_freeDraw() {
|
||||||
|
|
18
vendor/assets/javascripts/turf.js
vendored
Normal file
18
vendor/assets/javascripts/turf.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue