Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1104 → Rev 1105

/branches/v1.5-cisaille/widget/modules/saisie/squelettes/sauvages/js/sauvages.js
79,6 → 79,15
} else {
console.log('Ville:'+VILLE);
}
// Tentative de geocalisation
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
latLng = new google.maps.LatLng(latitude, longitude);
});
}
 
var options = {
zoom: 16,
124,86 → 133,57
$(document).ready(function() {
initialiserGoogleMap();
$(function() {
// Tentative de geocalisation
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
var altitude = position.coords.altitude;
var geocalisation = new google.maps.LatLng(latitude, longitude);
marker.setPosition(geocalisation);
map.setCenter(geocalisation);
$('#adresse').val(codeLatLng(marker.getPosition()));
mettreAJourMarkerPosition(marker.getPosition());
});
}
// Autocompletion du champ adresse
$("#adresse").autocomplete({
//Cette partie utilise geocoder pour extraire des valeurs d'adresse
source: function(request, response) {
geocoder.geocode( {'address': request.term+', France', 'region' : 'fr' }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
response($.map(results, function(item) {
return {
label: item.formatted_address,
value: item.formatted_address,
latitude: item.geometry.location.lat(),
longitude: item.geometry.location.lng()
// Autocompletion du champ adresse
$("#rue").autocomplete({
//Cette partie utilise geocoder pour extraire des valeurs d'adresse
source: function(request, response) {
geocoder.geocode( {'address': request.term+', France', 'region' : 'fr' }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
response($.map(results, function(item) {
var rue = "";
$.each(item.address_components, function(){
if (this.types[0] == "route" || this.types[0] == "street_address" ) {
rue = this.short_name;
}
}));
} else {
afficherErreurGoogleMap(status);
}
})
},
// Cette partie est executee a la selection d'une adresse
select: function(event, ui) {
remplirChampLatitude(ui.item.latitude);
remplirChampLongitude(ui.item.longitude);
var latLng = new google.maps.LatLng(ui.item.latitude, ui.item.longitude);
deplacerMarker(latLng);
map.setCenter(latLng);
map.setZoom(19);
}
});
google.maps.event.addListener(marker, 'dragend', function() {
trouverCommune(marker.getPosition());
geocoder.geocode({'latLng': marker.getPosition()}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[0]) {
$('#adresse').val(results[0].formatted_address);
mettreAJourMarkerPosition(marker.getPosition());
}
} else {
});
var retour = {
label: item.formatted_address,
value: rue,
latitude: item.geometry.location.lat(),
longitude: item.geometry.location.lng()
};
return retour;
}));
} else {
afficherErreurGoogleMap(status);
}
});
});
})
},
// Cette partie est executee a la selection d'une adresse
select: function(event, ui) {
var latLng = new google.maps.LatLng(ui.item.latitude, ui.item.longitude);
deplacerMarker(latLng);
}
});
$("#geolocaliser").click(function() {
var latitude = $('#latitude').val();
var longitude = $('#longitude').val();
latLng = new google.maps.LatLng(latitude, longitude);
deplacerMarker(latLng);
});
google.maps.event.addListener(marker, 'dragend', function() {
trouverCommune(marker.getPosition());
mettreAJourMarkerPosition(marker.getPosition());
});
google.maps.event.addListener(map, 'click', function(event) {
deplacerMarker(event.latLng);
});
});
 
// Transforme les coordonnés en adresse (reverse geocoder)
function codeLatLng() {
var lat = parseFloat(document.getElementById("latitude").value);
var lng = parseFloat(document.getElementById("longitude").value);
var latlng = new google.maps.LatLng(lat, lng);
geocoder.geocode({'latLng': latlng}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[0]) {
marker.setPosition(latlng);
map.setCenter(latlng);
$('#adresse').val(results[0].formatted_address);
}
} else {
afficherErreurGoogleMap(status);
}
});
}
 
function afficherErreurGoogleMap(status) {
if (DEBUG) {
$("#dialogue-google-map").empty();
214,11 → 194,13
}
}
 
function deplacerMarker(latLon) {
function deplacerMarker(latLng) {
if (marker != undefined) {
marker.setPosition(latLon);
mettreAJourMarkerPosition(marker.getPosition());
trouverCommune(marker.getPosition());
marker.setPosition(latLng);
map.setCenter(latLng);
//map.setZoom(18);
mettreAJourMarkerPosition(latLng);
trouverCommune(latLng);
}
}
 
391,8 → 373,8
'milieu' : $('input[name=milieu]:checked').val(),
'latitude' : $("#latitude").val(),
'longitude' : $("#longitude").val(),
'commune_nom' : '',// TODO : utiliser le web service
'commune_code_insee' : '',// TODO : utiliser le web service
'commune_nom' : $("#commune-nom").text(),
'commune_code_insee' : $("#commune-code-insee").text(),
'lieu_dit' : $("#rue").val(),
'station' : $("#rue_num_debut").val()+'-'+$("#rue_num_fin").val()+'-'+$("#rue_cote").val(),
'notes' : $("#notes").val(),