169,11 → 169,15 |
var geocoder; |
var map; |
var marker; |
var markerFin; |
var latLng; |
var latLngFin; |
var ligneRue; |
var premierDeplacement = true; |
|
function initialiserGoogleMap(){ |
// Carte |
var latLng = new google.maps.LatLng(48.8543, 2.3483);// Paris |
latLng = new google.maps.LatLng(48.8543, 2.3483);// Paris |
if (VILLE == 'Marseille') { |
latLng = new google.maps.LatLng(43.29545, 5.37458); |
} else if (VILLE == 'Montpellier') { |
212,7 → 216,7 |
marker = new google.maps.Marker({ |
map: map, |
draggable: true, |
title: 'Ma station', |
title: 'Début de la rue', |
icon: GOOGLE_MAP_MARQUEUR_URL, |
position: latLng |
}); |
262,7 → 266,7 |
}, |
// 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); |
latLng = new google.maps.LatLng(ui.item.latitude, ui.item.longitude); |
deplacerMarker(latLng); |
} |
}); |
277,6 → 281,7 |
google.maps.event.addListener(marker, 'dragend', function() { |
trouverCommune(marker.getPosition()); |
mettreAJourMarkerPosition(marker.getPosition()); |
deplacerMarker(marker.getPosition()); |
}); |
|
google.maps.event.addListener(map, 'click', function(event) { |
299,11 → 304,56 |
marker.setPosition(latLng); |
map.setCenter(latLng); |
//map.setZoom(18); |
mettreAJourMarkerPosition(latLng); |
trouverCommune(latLng); |
|
if(!premierDeplacement) { |
if(markerFin != undefined) { |
markerFin.setMap(null); |
} |
|
latLngFin = new google.maps.LatLng(latLng.lat(), latLng.lng() - 0.0002); |
// Marqueur google draggable |
markerFin = new google.maps.Marker({ |
map: map, |
draggable: true, |
title: 'Fin de la rue', |
icon: FIN_ICONE_URL, |
position: latLngFin |
}); |
|
google.maps.event.addListener(markerFin, 'dragend', function() { |
dessinerLigneRue(marker.getPosition(), markerFin.getPosition()); |
latLngFin = markerFin.getPosition(); |
latLngCentre = new google.maps.LatLng((latLngFin.lat() + latLng.lat())/2, (latLngFin.lng() + latLng.lng())/2); |
mettreAJourMarkerPosition(latLngCentre); |
}); |
|
dessinerLigneRue(latLng, latLngFin); |
|
latLngCentre = new google.maps.LatLng((latLngFin.lat() + latLng.lat())/2, (latLngFin.lng() + latLng.lng())/2); |
mettreAJourMarkerPosition(latLng); |
} else { |
mettreAJourMarkerPosition(latLng); |
} |
premierDeplacement = false; |
} |
} |
|
function dessinerLigneRue(pointDebut, pointFin) { |
if(ligneRue != undefined) { |
ligneRue.setMap(null); |
} |
|
ligneRue = new google.maps.Polyline({ |
path: [pointDebut, pointFin], |
strokeColor: "#FF0000", |
strokeOpacity: 1.0, |
strokeWeight: 2 |
}); |
|
ligneRue.setMap(map); |
} |
|
function mettreAJourMarkerPosition(latLng) { |
var lat = latLng.lat().toFixed(5); |
var lng = latLng.lng().toFixed(5); |
402,14 → 452,6 |
equalTo: "#courriel" |
}, |
rue : "required", |
rue_num_debut : { |
required : true, |
digits : true, |
min : 1}, |
rue_num_fin : { |
required : true, |
digits : true, |
min : 1}, |
rue_cote : "required", |
milieu : "required", |
latitude : { |
476,7 → 518,7 |
'commune_nom' : $("#commune-nom").text(), |
'commune_code_insee' : $("#commune-code-insee").text(), |
'lieudit' : $("#rue").val(), |
'station' : $("#rue_num_debut").val()+'-'+$("#rue_num_fin").val()+'-'+$("#rue_cote").val(), |
'station' : latLng.lat().toFixed(5)+','+latLng.lng().toFixed(5)+';'+latLngFin.lat().toFixed(5)+','+latLngFin.lng().toFixed(5)+';'+$("#rue_cote").val(), |
'notes' : $("#notes").val(), |
//Ajout des champs images |
'image_nom' : $("#miniature-img").attr('alt'), |