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(), |