// initialisation des variables des parcelles
var username="";
var Affiche_surface="";
var Affiche_surface_souscrite="";
var Affiche_borne="";
var Affiche_robinet="";
var Affiche_culture="";
var Affiche="";
//fin initialisation des variables des parcelles
jQuery(document).ready(function($) {
if (document.getElementById("initial")) { //1
// Initialisation au démarrage
//désactiver
document.getElementById("carteParcelle").disabled = true;
document.getElementById("carteParcelle").value="Affichage de la Carte - Attendez";
//autoriser
//document.getElementById("carteParcelle").disabled = false;
//value="Affichage de la Carte"
var data = {
'action': 'users_details',
'request': 1
};
$.ajax({ // Affichage liste des Communes
url: ajaxurl,
type: 'post',
data: data,
dataType: 'json',
success: function(response) {
$('#sel_Commune').empty();
$('#sel_Commune').append("");
$('#map').empty();
document.getElementById("info" ).innerHTML = '';
var len = response.length;
console.log(response);
for (var i = 0; i < len; i++) {
var id = response[i].Commune;
var commune = response[i].Commune;
// Add option
var option = "";
$("#sel_Commune").append(option);
}
}
});
// Sélection Commune -> affichage des Lieux dits
$('#sel_Commune').change(function() {
//var commune = $(this).val();
commune = $(this).val();
//
if (commune !== '') {
$('#sel_Lieu_dit').empty(); // on vide la liste deux
$('#sel_Parcelle').empty(); // on vide la liste trois
$('#map').empty();
document.getElementById("info" ).innerHTML = '';
//
var data = {
'action': 'users_details',
'request': 2,
'userid': commune
};
$.ajax({
url: ajaxurl,
type: 'post',
data: data,
dataType: 'json',
success: function(response) {
var len = response.length;
console.log(response);
if (len > 0) {
$('#sel_Lieu_dit').append("");
var len = response.length;
for (var i = 0; i < len; i++) {
var id = response[i].Lieu_dit;
var username = response[i].Lieu_dit;
// Add option
// var option = "";
var option = '';
$("#sel_Lieu_dit").append(option);
}
} //if
} //response
}); //ajax
}
}); //'#sel_Commune').change(function()
// Sélection Lieux_dit -> affichage des Parcelles
$('#sel_Lieu_dit').change(function() {
var lieu = $(this).val();
if (lieu !== '') {
$('#sel_Parcelle').empty(); // on vide la liste trois
$('#map').empty();
document.getElementById("info" ).innerHTML = '';
var data = {
'action': 'users_details',
'request': 3,
'userid': lieu,
'commune': commune,
};
$.ajax({
url: ajaxurl,
type: 'post',
data: data,
dataType: 'json',
success: function(response) {
var len = response.length;
if (len > 0) {
$('#sel_Parcelle').append("");
var len = response.length;
for (var i = 0; i < len; i++) {
var id = response[i].Num_Parcelle;
//var username = response[i].Num_Parcelle;
username = response[i].Num_Parcelle;
//début récupération paramètres parcelle
Affiche_surface = response[i].Surface;
Affiche_surface_souscrite = response[i].Surface_souscrite;
Affiche_borne = response[i].Borne;
Affiche_robinet = response[i].surface;
Affiche_culture = response[i].Culture;
// fin récupération paramètres parcelle
// Add option
var option = "";
$("#sel_Parcelle").append(option);
}
} //if
} //response
}); //ajax
}
}); //'#sel_Lieu_dit').change(function()
//
// Sélection des Parcelles -> Géocodage
$('#sel_Parcelle').change(function() {
valParc = $(this).val(); // on récupère la valeur de la parcelle
if (valParc !== '') {
$('#map').empty();
decompose(valParc);
document.getElementById("info" ).innerHTML = Affiche;
codePar = formatParcelle(valParc);
//codeParcelle(valCom,codePar);
codeParcelle(commune, codePar);
coordPar(geoCode); // appel des services IGN
} //if
}); //'#sel_Parcelle').change(function()
function codeParcelle(valCom, codePar) {
switch (valCom) {
// Complément du code parcellaire avec le code INSEE de la Commune + 000 pour le cas où Commune rattachée.
case "LA SAULCE":
geoCode = "05162000" + codePar;
break;
case "LARDIER":
geoCode = "05071000" + codePar;
break;
case "LE POET":
geoCode = "05103000" + codePar;
break;
case "LETTRET":
geoCode = "05074000" + codePar;
break;
case "MISON":
geoCode = "04123000" + codePar;
break;
case "MONETIER ALLEMONT":
geoCode = "05078000" + codePar;
break;
case "SISTERON":
geoCode = "04209000" + codePar;
break;
case "TALLARD":
geoCode = "05170000" + codePar;
break;
case "UPAIX":
geoCode = "05173000" + codePar;
break;
case "VALERNES":
geoCode = "04231000" + codePar;
break;
case "VENTAVON":
geoCode = "05178000" + codePar;
break;
case "VITROLLES":
geoCode = "05184000" + codePar;
break;
default:
geoCode = "Echec";
}
}
// Met en forme le code Communal de la parcelle
function formatParcelle($parcelle) {
position = $parcelle.indexOf(" ");
if (position == 1) {
$parcelle = "0" + $parcelle;
}
$parcelle = $parcelle.replace(" ", "");
$parcelle = $parcelle.substr(0, 6);
return $parcelle;
}
// Décompose valParc en données détaillées de la parcelle recherchée
function decompose($parcelle) {
position1 = $parcelle.indexOf("~");
position2 = $parcelle.indexOf("~",position1 +1 );
position3 = $parcelle.indexOf("~",position2 +1 );
position4 = $parcelle.indexOf("~",position3 +1 );
position5 = $parcelle.indexOf("~",position4 +1 );
Affiche_surface = valParc.substr(position1+1, position2-position1-1);
Affiche_surface_souscrite= valParc.substr(position2+1, position3-position2-1);
Affiche_borne= valParc.substr(position3+1, position4-position3-1);
if(Affiche_borne=="undefined") (Affiche_borne="");
Affiche_robinet= valParc.substr(position4+1, position5-position4-1);
if(Affiche_robinet=="undefined") (Affiche_robinet="");
Affiche_culture= valParc.substr(position5+1);
Affiche="Surface de la parcelle: "+Affiche_surface+" m², Surface souscrite: "+ Affiche_surface_souscrite+" m², Numéro de borne: "+Affiche_borne+", Numéro de robinet: "+Affiche_robinet+", Culture: "+Affiche_culture+" ~ ";
}
} //fin 1
}); // fin document Ready déplacé pour englober le reste des fonctions
// début des tests des réponses des serveurs de l'IGN
function coordPar(locationVar) {
//var resultDiv = document.getElementById("result");
httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function(){
if (httpRequest.readyState === XMLHttpRequest.DONE && httpRequest.status === 200) { //OK200;
url = "https://geocodage.ign.fr/look4/parcel/search?q=" + locationVar;
fetch(url)
.then(response => response.json())
.then(data => {
var locations = data.features;
let feature = locations[0];
if (typeof feature !== 'undefined') {
yretour = (feature.geometry.coordinates[0]);
xretour = (feature.geometry.coordinates[1]);
//.catch(error => console.error(error));
}
else{Gp.Services.geocode({
apiKey: "choisirgeoportail", //
location: locationVar,
filterOptions: {type: "CadastralParcel"},
onSuccess: function(result) {
xretour=(JSON.stringify(result.locations[0]["position"]["x"]))
yretour=(JSON.stringify(result.locations[0]["position"]["y"]))
xretour= parseFloat (xretour)
yretour= parseFloat (yretour)
document.getElementById("info" ).innerHTML = Affiche+'Ancien GEOCODAGE!';
document.getElementById("carteParcelle").disabled = false;
document.getElementById("carteParcelle").value="Affichage de la Carte";
}
});
return
}
})
document.getElementById("info" ).innerHTML = Affiche+'Nouveau GEOCODAGE!';
document.getElementById("carteParcelle").disabled = false;
document.getElementById("carteParcelle").value = "Affichage de la Carte";
}// fin 200
else
if (httpRequest.readyState === XMLHttpRequest.DONE){
//if (httpRequest.status === 404){ // 404 pour les tests
//if (httpRequest.status === 503) {
if (httpRequest.status === 503 || httpRequest.status === 0){
Gp.Services.geocode({
apiKey: "choisirgeoportail",
location: locationVar,
filterOptions: {type: "CadastralParcel"},
onSuccess: function(result) {
xretour=(JSON.stringify(result.locations[0]["position"]["x"]))
yretour=(JSON.stringify(result.locations[0]["position"]["y"]))
xretour= parseFloat (xretour)
yretour= parseFloat (yretour)
document.getElementById("info" ).innerHTML =Affiche+'Ancien GEOCODAGE!';
document.getElementById("carteParcelle").disabled = false;
document.getElementById("carteParcelle").value="Affichage de la Carte";
}
});
} // fin 503-404
}// fin readyState DONE
} // fin httpRequest.onreadystatechange
httpRequest.open('GET', 'https://geocodage.ign.fr/look4/getCapabilities');
//httpRequest.open('GET', 'https://geocodage.ign.fr/look3/getCapabilities'); // Test pour 404
httpRequest.send();
} // fin coordPar
// Affichage Carte
function afficheCarte() {
Gp.Services.getConfig({
apiKey: "choisirgeoportail",
onSuccess: go //Appel fonction go()
});
}
//fonction go() Affichage des couches du Layers -->
function go() {
}// fin function GO