1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
| //=====================la carte===============================================
// Variables globales
var buttonGo = document.getElementById('bkt_price_quote');
var oCadre = document.getElementById('booktaxi_canvas_wraper');
var oAdresse = document.getElementById('bkt_from');
var oAdresse2 = document.getElementById('bkt_to');
var oRoad = document.getElementById('roadmap');
var oMoyen = document.getElementById('moyen');
var directionsDisplay = new google.maps.DirectionsRenderer();
var directionsService = new google.maps.DirectionsService();
var oCarte;
window.onload = function() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(onsuccess, onerror)
} else {
alert('Géolocalisation non supportée');
}
if (buttonGo.addEventListener) {
// Branchement des écouteurs W3C
buttonGo.addEventListener('click', afficheIti, false);
} else {
// Branchement des écouteurs W3C
buttonGo.attachEvent('onclick', afficheIti);
}
};
// Fonction de rappel si la position est trouvée
function onsuccess(pos) {
// Point central de la carte
console.log(pos.coords.latitude);
console.log(pos.coords.longitude);
var oPos = new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude);
// Options d'affichage
var oOptions = {
center : oPos,
zoom : 12,
mapTypeId : google.maps.MapTypeId.ROADMAP
// HYBRID, SATELLITE, TERRAIN
};
// Affichage de la carte
oCarte = new google.maps.Map(oCadre, oOptions);
// Infobulle
var oInfo = new google.maps.InfoWindow({
content : '<h1 class="boTitre">Vous êtes ici !</h1>'
});
// Marqueur
var oMarker = new google.maps.Marker({
position : oPos,
map : oCarte,
title : 'Vous etes ici!'
});
google.maps.event.addListener(oMarker, 'click', function() {
oInfo.open(oCarte, oMarker)
});
}
// Fonction de rappel si la position n'est pas trouvée
function onerror(err) {
switch (err.code) {
case err.PERMISSION_DENIED:
alert('Permission refusée');
break;
case err.POSITION_UNAVAILABLE:
alert('Emplacement non trouvé');
break;
case err.TIMEOUT:
alert('Délai dépassé');
break;
case err.UNKNOWN_ERROR:
alert('Erreur non définie');
break;
}
}
// Affiche l'itinéraire demandé
function afficheIti() {
var oMode;
//// switch (oMoyen.value) {
//// case '1':
//// oMode = google.maps.TravelMode.WALKING;
//// break;
//// case '2':
//// oMode = google.maps.TravelMode.BICYCLING;
//// break;
//// case '4':
//// oMode = google.maps.TravelMode.TRANSIT;
//// break;
//// default:
oMode = google.maps.TravelMode.DRIVING;
console.log(oMode);
//// break;
// }
var start = bkt_from.value;
var end = bkt_to.value;
var request = {
origin : start,
destination : end,
travelMode : oMode
};
directionsDisplay.setMap(oCarte);
directionsDisplay.setPanel(oRoad)
directionsService.route(request, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(result);
}
});
} |
Partager