• Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Le radar Air-Carrier
#14
(28-08-2016, 09:36 PM)jojo3544 a écrit :
(28-08-2016, 09:23 PM)Antoinee a écrit : Pourquoi ne pas mettre en cache un fichier au format JSON et filtrer les avions côté client avec du JavaScript ?
J'y avais pensé mais on était parti sur un modèle différent et donc on a continué la dessus. Et j'ai franchement pas trop envie de tout refaire... Il y a d'autres priorités

(28-08-2016, 09:23 PM)Antoinee a écrit : Pour exporter un tableau au format JSON il y a une fonction en PHP :
http://fr.php.net/json_encode
Je sais merci

Je te mets tout ça dans une belle boite et c'est parti Tongue

Code PHP :
var add_flight = function (map, flight)
 
   var line;
 
   var triangle = {
 
       path: flight.path, // En registrer tous les avions quelque part et passer un numéro
 
       fillColor: flight.color, // Ou placer la condition ici pour savoir si l'avion nous appartient ou pas
 
       fillOpacity: 1,
 
       size: new google.maps.Size(120, 190),
 
       scale: flight.scale, // ...
 
       anchor: new google.maps.Point(1200, 1000),
 
       strokeColor: 'black',
 
       rotation: flight.rotation, // ...
 
       strokeWeight: 1
    
};
 
   var distanceFractionnaire = flight.completion; // 0.0 à 1.0
 
   var pointDepart = new google.maps.LatLng(flight.from.lat, flight.from.lon);
 
   var pointArrivee = new google.maps.LatLng(flight.to.lat, flight.to.lon);
 
   var pointIntermediaire = google.maps.geometry.spherical.interpolate(pointDepart, pointArrivee, distanceFractionnaire);

 
   var plane = new google.maps.Marker({
 
       position: pointIntermediaire,
 
       map: map,
 
       icon: triangle
    
});
 
   var contenuInfoBulle = 'Départ : '+flight.from.iata+' à '+flight.from.time+'<br>Arrivée : '+flight.to.iata+' à '+flight.to.time+'<br>Appareil : '+flight.plane.model+'<br>Compagnie : '+flight.company.name;
 
   var infoBulle = new google.maps.InfoWindow({
 
       content: contenuInfoBulle
    
});
 
   google.maps.event.addListener(plane, 'click', function() {
 
       //infoBulle.open(map, plane);
 
       update(flight.from.iata,flight.to.iata,flight.from.time,flight.to.time,flight.company.logo,flight.company.name,flight.plane.manufacturer+' '+flight.plane.model,flight.plane.id,flight.plane.configuration.join(', '),flight.passengers.join(', '));
 
       if(typeof(line) != 'undefined')
 
       {
 
           line.setMap(null);
 
       }
 
       line = new google.maps.Polyline({map:map,path:[pointDepart,pointArrivee],strokeColor:"#842768",strokeWeight: 2, geodesic:true});
 
   });
} 

Le JSON Smile

Code PHP :
flights = [
    {
        path: 'M...',
        color: 'yellow|red',
        scale: 0.2,
        rotation: 359,
        completion: 0.75,
        passengers: [120, 59, 18],
        from: {
            lat: 41.235,
            lon: 1.236,
            iata: 'XXX',
            time: '00:00:00'
        },
        to: {
            lat: 42.42,
            lon: 3.14,
            iata: 'YYY',
            time: '12:34:56'
        },
        plane: {
            id: 1234,
            manufacturer: 'Airbus',
            model: 'A320',
            configuration: [120, 60, 20]
        }
        company: {
            name: 'Air France',
            logo: 'https://domain.tld/images/logo.png'
        }
    },
    {
        // ...
    }
]; 
Voilà, une demi-heure de travail Smile
  Répondre


Messages dans ce sujet
Le radar Air-Carrier - jojo3544 - 26-08-2016, 09:08 PM
RE: Le radar Air-Carrier - jonathan - 26-08-2016, 09:34 PM
RE: Le radar Air-Carrier - Logan Leblanc - 26-08-2016, 09:35 PM
RE: Le radar Air-Carrier - PotoPoto - 27-08-2016, 08:56 AM
RE: Le radar Air-Carrier - jojo3544 - 27-08-2016, 09:01 AM
RE: Le radar Air-Carrier - Kaczor - 04-02-2018, 10:18 AM
RE: Le radar Air-Carrier - Logan Leblanc - 27-08-2016, 09:46 AM
RE: Le radar Air-Carrier - jojo3544 - 27-08-2016, 02:43 PM
RE: Le radar Air-Carrier - Logan Leblanc - 27-08-2016, 04:22 PM
RE: Le radar Air-Carrier - PotoPoto - 27-08-2016, 04:47 PM
RE: Le radar Air-Carrier - jonathan - 28-08-2016, 11:11 AM
RE: Le radar Air-Carrier - jojo3544 - 28-08-2016, 07:49 PM
RE: Le radar Air-Carrier - Antoinee - 28-08-2016, 09:23 PM
RE: Le radar Air-Carrier - jojo3544 - 28-08-2016, 09:36 PM
RE: Le radar Air-Carrier - Antoinee - 28-08-2016, 10:25 PM
RE: Le radar Air-Carrier - jojo3544 - 29-08-2016, 07:39 PM
RE: Le radar Air-Carrier - Kaczor - 02-02-2018, 09:29 PM
RE: Le radar Air-Carrier - Antoinee - 29-08-2016, 08:15 PM
RE: Le radar Air-Carrier - Eddy.j - 03-02-2018, 10:37 AM
RE: Le radar Air-Carrier - Kaczor - 03-02-2018, 01:37 PM
RE: Le radar Air-Carrier - Eddy.j - 03-02-2018, 03:26 PM
RE: Le radar Air-Carrier - Kaczor - 03-02-2018, 06:15 PM

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)