136,7 → 136,6 |
|
//+----------------------------------------------------------------------------------------------------------+ |
//GOOGLE MAP => OK |
|
var map, |
geocoder, |
markerDeb, |
245,8 → 244,12 |
google.maps.event.addListenerOnce(map, 'idle', function(){ |
// Initialisation du marker de début de rue |
initialiserMarkerDeb(); |
// Tentative de geocalisation si aucune obs à précharger |
tenterGeolocalisation(); |
if (OBS_ID != '') { |
chargerInfoObs(); |
} else { |
// Tentative de geocalisation si aucune obs à précharger |
tenterGeolocalisation(); |
} |
}); |
|
// Création du Geocoder |
253,6 → 256,61 |
geocoder = new google.maps.Geocoder(); |
} |
|
function chargerInfoObs() { |
var urlObs = SERVICE_OBS_URL + '/' + OBS_ID; |
$.ajax({ |
url: urlObs, |
type: 'GET', |
success: function(data, textStatus, jqXHR) { |
if (data != undefined && data != "") { |
prechargerForm(data); |
} |
// TODO: voir s'il est pertinent d'indiquer quelque chose en cas d'erreur ou d'obs |
// inexistante |
}, |
error: function(jqXHR, textStatus, errorThrown) { |
// TODO: cf TODO ci-dessus |
} |
}); |
} |
|
function prechargerForm(data) { |
|
$('#carte-recherche').val(data.zoneGeo); |
|
$('#commune-nom').text(data.zoneGeo); |
$('#commune-code-insee').text(data.codeZoneGeo.replace('INSEE-C:', '')); |
|
pos = new google.maps.LatLng(data.latitude, data.longitude); |
|
if(data.hasOwnProperty("extension")) { |
initialiserMarkerFin(); |
|
// cas des obs florilèges qui apparaissent aussi comme des obs sauvages |
// mais qui n'ont pas de coté de rue |
if(data.extension.hasOwnProperty("coteRue")) { |
$('#rue_cote option[value='+data.extension.coteRue.valeur+']').attr("selected", "selected"); |
} |
|
deb = new google.maps.LatLng(data.extension.latitudeDebutRue.valeur, data.extension.longitudeDebutRue.valeur); |
fin = new google.maps.LatLng(data.extension.latitudeFinRue.valeur, data.extension.longitudeFinRue.valeur); |
|
mettreAJourStationPosition(pos); |
|
deplacerMarkerDeb(deb); |
deplacerMarkerFin(fin); |
afficherEtapeGeolocalisation(4); |
|
var latlngbounds = new google.maps.LatLngBounds(); |
latlngbounds.extend(deb); |
latlngbounds.extend(fin); |
map.setCenter(latlngbounds.getCenter()); |
map.fitBounds(latlngbounds); |
} else if(data.hasOwnProperty("latitude") && data.hasOwnProperty("longitude")) { |
deplacerMarkerDeb(pos); |
} |
} |
|
function initialiserMarkerDeb() { |
premierDeplacement = true; |
if (markerDeb == undefined) { |
294,7 → 352,7 |
} else { |
var nouvellePositionFin = new google.maps.LatLng(latLngDeb.lat(), latLngDeb.lng() + 0.0010); |
initialiserMarkerFin(); |
deplacerMakerFin(nouvellePositionFin) |
deplacerMarkerFin(nouvellePositionFin) |
afficherEtapeGeolocalisation(3); |
} |
} |
314,7 → 372,7 |
} |
} |
|
function deplacerMakerFin(nouvellePosition) { |
function deplacerMarkerFin(nouvellePosition) { |
latLngFin = nouvellePosition; |
markerFin.setMap(map); |
markerFin.setPosition(latLngFin); |