var nom = "plan"; var titre = "Plan d'accès"; var titre_icone = "Plan"; var icone = "locate"; var secondes = 0; //####################################################################################### //### Horaires d'ouverture //####################################################################################### mesHoraires = Ext.extend(Ext.Panel, { title: 'Horaires', scroll: 'vertical', html: '', style: { height: '30px', fontSize: '12px', }, listeners: { activate: function(tab) { Ext.Ajax.request({ url: 'pages/horaires.php?delai='+secondes, success: function (response, opts) { tab.update(response.responseText, true); }, }); } }, }); Ext.reg('horaires', mesHoraires); var latitude = '44.5218334'; var longitude = '0.1129267'; //####################################################################################### //### Carte + itinéraire Google Map //####################################################################################### if (Ext.is.Android || Ext.is.Desktop) { /*var infowindowA = new google.maps.InfoWindow({ content: 'Vous êtes ici' });*/ var infowindowB = new google.maps.InfoWindow({ content: 'BACHELOT AUTOMOBILES
Fizalie, route de Bordeaux
47180 Sainte-Bazeille' }); maCarte = Ext.extend(Ext.Map, { title: 'Plan', mapOptions : { zoom: 12, center: new google.maps.LatLng('44.5218334', '0.1129267'), useCurrentLocation: true, navigationControl: true, navigationControlOptions: { style: google.maps.NavigationControlStyle.DEFAULT } }, useCurrentLocation: true, listeners: { maprender : function(comp, map){ /*var markerA = new google.maps.Marker({ position: map.center, map: map }); infowindowA.open(map, markerA); google.maps.event.addListener(markerA, 'click', function() { infowindowA.open(map, markerA); });*/ var markerB = new google.maps.Marker({ position: new google.maps.LatLng(44.5218334, 0.1129267), map: map }); infowindowB.open(map, markerB); google.maps.event.addListener(markerB, 'click', function() { infowindowB.open(map, markerB); }); } } }); } else // Iphone { maCarte = Ext.extend(Ext.Panel, { title: 'Itinéraire', id: 'id_carte', //scroll: 'vertical', html: '
', listeners: { activate: function() { var directionsService = new google.maps.DirectionsService(); var directionsDisplay = new google.maps.DirectionsRenderer(); var myOptions = { // zoom:10, center: new google.maps.LatLng(44.5218334, 0.1129267), mapTypeId: google.maps.MapTypeId.ROADMAP } var map = new google.maps.Map(document.getElementById("map"), myOptions); directionsDisplay.setMap(map); navigator.geolocation.getCurrentPosition(function(position){ var lat = position.coords.latitude; var lon = position.coords.longitude; latitude = position.coords.latitude; longitude = position.coords.longitude; var myOrigin = new google.maps.LatLng(lat, lon); var test = new google.maps.LatLng(44.5218334, 0.1129267); var request = { origin: myOrigin, destination: "Fizalie, route de Bordeaux 47180 Sainte-Bazeille France", travelMode: google.maps.DirectionsTravelMode.DRIVING, unitSystem: google.maps.DirectionsUnitSystem.METRIC }; directionsService.route(request, function(response, status) { if (status == google.maps.DirectionsStatus.OK) { var km = Math.round((response.routes[0].legs[0].distance.value / 1000) * 10) / 10; secondes = response.routes[0].legs[0].duration.value; var he = secondsToTime(secondes)['h']; var mi = secondsToTime(secondes)['m']; var duree = ''; if (he > 0) { duree+=he+" h"; } if (mi > 0) { duree+=" "+mi+" min."; } document.getElementById('distance').innerHTML = 'Distance : ' + km + ' Km (' + duree + ' )' directionsDisplay.setDirections(response); } }); }, function(position_error){}, { enableHighAccuracy: true }); } }, }); } Ext.reg('carte', maCarte); var typecarte = "carte"; if (Ext.is.Android) { //typecarte = "carte_android"; } //####################################################################################### //### Panel principal Plan d'accès //####################################################################################### monTab_plan = Ext.extend(Ext.TabPanel, { id: 'panelPlan', title: titre_icone, iconCls: icone, animation: 'flip', cls: nom, tabBar:{ items:[ { xtype: 'spacer' }, { xtype: 'button', ui: 'confirm', //height: '25px', text: '', handler: function(tab) { if (!Ext.is.Android) { if (latitude != '' && longitude != '') { location.href = 'http://maps.google.fr/maps?saddr='+latitude+', '+longitude+'&daddr=Fizalie%2C+route+de+Bordeaux%2B47180%2BSainte-Bazeille&hl=fr&sll=44.5218334,0.1129267&sspn=44.5218334,0.1129267&geocode=FcN-0AIdK0vo_ymtrqjwge4FSDEw7Q0eUjcNBA%3BFSZ-6QIdXuQjACkPt-IGH27mRzFglIxow4ILBA&mra=ls&vpsrc=0&t=h&z=9'; } } else { location.href = 'http://maps.google.fr/maps?daddr=Fizalie%2C+route+de+Bordeaux%2B47180%2BSainte-Bazeille&hl=fr&sll=44.5218334,0.1129267&sspn=44.5218334,0.1129267&geocode=FcN-0AIdK0vo_ymtrqjwge4FSDEw7Q0eUjcNBA%3BFSZ-6QIdXuQjACkPt-IGH27mRzFglIxow4ILBA&mra=ls&vpsrc=0&t=h&z=9'; } } }] }, listeners: { activate: function(tab) { if (document.getElementById('id_fiche')) { Ext.getCmp('id_fiche').destroy(); } } }, items: [ { xtype: typecarte, }, { xtype: "horaires", }, ] }); Ext.reg(nom, monTab_plan);