ROB BOWDEN: Hej. Jeg er Rob. Og jeg håber, du er klar til at samle op, hvad Jeg springer fra eller sætte ned, eller lad os komme i gang. Så første ting, vi har brug for at gøre er at hente. Nu afhente vil være at fjerne passagerernes ikoner fra Google kort i nederste højre hjørne og fra Google Earth i midten af skærmen. Så for at fjerne dem, ikoner, er vi nødt til at have henvisninger til dem et sted. Men i dag, den befolke funktionen bare får slippe af med dem. Så vi er nødt til at ændre befolke at holde dem rundt. Nu første ting, vi vil se, er, at vi har en global passagerer array. Og så vi kommer til at bruge den globale s passagerer array i befolke. I befolke, ser vi, at vi looping i alle passagererne. Og det er denne løkke, der er at skabe placerer mærke for Google Earth og markør for Google Map. Og så nu er vores modifikation at befolke er at være her. Så vi tilføje til vores passagerer " matrix dette objekt, der holder omkring markør og stedmarkør vi bare skabt sammen med huset og navnet på passageren. Så det er det for at udfylde. Nu er vi nødt til at se på Pick Up. Så i Pick Up, vi igen kommer til at gentage over alle vores passagerer. Men nu er det vores globale passagerer array. Og her vi ser så godt, har vi allerede hentet denne passager? Da hvis vi har plukket op dette passager, vi ser i den ende, vi kommer til at sætte markøren og stedmarkør NULL, da de er ikke længere i Google map. Så hvis vi allerede har hentet dette passager så vi bare kommer til at fortsætte til den næste passager. Else, tjekker vi for at se, om dette passager hus er inde i husets array. Det er den kontrol, vi nødt til at sørge at vi ikke afhente freshman som spec siger. Så hvis passageren er en freshman, vi kommer til at fortsætte til den næste passager. Når vi har bekræftet, at dette er en passager, vi skal picking up, vi nu kommer til at kontrollere breddegrad og længdegrad passageren og se hvis det er inden for 15 meter af skytten. Hvis det er tilfældet, vi faktisk ønsker at afhente denne passager. Så vi integrerer over alle af sæderne i vores shuttle søger at se, om Der er en tilgængelig plet for passageren. Hvis en af ​​pladserne er nul, der er en tilgængelig stedet. Så vi tilføjer passageren på sædet. Vi husker, at vi plukket op passager, så i sidste ende, kan vi annoncere, hvis vi rent faktisk ikke samle nogen op. Vi husker, at vi siddende dette passager siden hvis vi formår at få gennem hele shuttle uden siddepladser passageren, så er vi nødt til at meddele, at vi er ude af sæder. Så kan vi fjerne deres plads Mark fra Google Earth. Vi fjerner deres markør fra Google Maps, sæt indersiden af ​​vores passagerer " vifte stedmarkør og markør til nul, som vi sagde før. Og så er det. Passageren er blevet siddende. Når vi har gjort det for alle passagerer inden for 15 meter fra shuttle, er vi nødt til at rechart. Så Chart er, hvad der kommer til at vise den passagerer i sæderne herovre. Så nu, lad os se på Chart. Inde i figur, vi kommer til at være konstruere HTML til diagrammet. Så diagrammet vil være en ordnet liste. Så vil vi gentage over alle sæderne i vores shuttle. Så hvis dette særlige sæde er null, at betyder, at vi vil have en liste element, angiver, at det er en tom nemt. Else, hvis det ikke var null, så vi vil et element på listen, der vil vise navnet på passageren og hus passageren der er i dette sæde. Når vi har gentages i alle de sæder derefter lukker vi vores ordnet liste og bruge jQuery til at vælge diagrammet div og erstatte det er HTML med vores nye ordnet liste. Og det er det for Chart. Så sidste ting er slippe væk fra. Nu frafald vil være temmelig ligner at samle op. I stedet for looping over alle af passagerer, vi kommer til løkken over alle de shuttle sæder. Så looping over shuttle pladser, vi se, er denne særlige shuttle sæde ikke null, i hvilket tilfælde der er en passager i sædet. Hvis det er tilfældet, vil vi at få fat i bredde-og længdegrad denne passager. Så ved hjælp husets array, er vi kommer til at få fat i hus passager i dette sæde, og derefter få fat i breddegrad af denne særlige hus og tilsvarende for længdegrad. Nu er vi igen bruge afstand for at se i det hus er inden for 30 meter af os. Hvis det er tilfældet, at de ønsker at sætte denne plads til null, da passageren blev droppet, og tilvækst som en passager blev droppet. Så i sidste ende, hvis der ikke var nogen droppet, vi meddele, at ingen ønsker at være faldet ud her. Endelig er vi nødt til at rechart så vi viser nye, tomme pladser. Nu skal du bare nødt til at gennemføre nogle ekstra funktioner. Nu er der masser du kan har valgt fra. Men i vores tilfælde har vi implementeret teleport flyvende, og fremskynde, og hurtigere ned. Så lad os se på dem. Først, lad os tage et kig på fremskyndelse funktion. Så i vores tilfælde, i tastetryk funktion, hvor vi allerede er håndtering alle disse taster, vi også kommer til at genkende X og Z. Hvilket vi angiver at disse tegn vil forårsage rumfærgens hastighed til øge og mindske. Så bemærke, at vi sætter en grænse for, hvordan høj og på, hvordan en lav hastighed kan faktisk gå da vi ikke ønsker rumfærgen for at være for hurtigt. Og vi ønsker heller ikke rumfærgens hastighed for at gå til nul eller eventuelt endog negativ hvilket vil resultere i nogle mærkelige opførsel. Og det er det for hastighedsovertrædelser op og bremse. Nu, lad os tage et kig på flyvende. Så husk, at den flyvende funktionen kræver, at du indtaster Konami Code. Så op på toppen, ser vi at vi har nogle globale variabler, Konami Code, som er en matrix, der er bare at holde styr på nøgler, der skal indtastes for Konami Code. Der er en Bool som netop indikerer om Konami kode har allerede blevet indtastet. Og så er der indekset i Konami Code array, vi er i øjeblikket på. Så hvis brugeren allerede har indgået tre tegn af Konami Code derefter indekset kommer til at pege på fjerde ting i array, den tredje indeks. Ved hjælp af det, vi endnu en gang vil se tasteanslag. Og i tastetryk vi ser her, at hvis Konami Code er ikke tidligere indtastet, så vi ønsker at se, er det nøgle, der blev indtastet, hvad vi øjeblikket forventer fra Konami Code array. Hvis det er tilfældet, så vi forøge vores indeks. Hvis brugeren op, så indeks kommer til at gå til en. Derefter vil brugeren skrive op igen, indekset går til to. Så vil de skrive ned, det vil gå til tre. Hvis de skriver Q, vil det nulstille til nul, da de ikke passer den forventede værdi. Nu, hvis de formår at komme igennem hele systemet, så de har indtastet Konami Code. I så fald, nu da Konami indtastet er sandt, ser vi ned her, at hvis Konami blev indtastet, accepterer vi to nye nøgler, C og E. Hvilket alle dem vil gøre er indstillet flyvende nedad og flyvende opadgående stater i rumfærgen. Så allerede eksisterer for dig. Du skal bare nødt til at tage fordel af dem. Og det er det for at flyve. Sidste har vi teleportere. Så inde i HTML, ser vi, at vi har tilføjet en input box og en teleportere knappen. Boksen har ID-adresse, og knappen har et ID teleport knappen. Nu er en irriterende lille detalje er, at hvis vi ikke gør noget med begivenhed handlere så når vi forsøger at skrive noget som en ind i indtastningsfeltet, i stedet for rent faktisk at binde A, vores Google Jorden kommer til at flytte til venstre siden A allerede er registreret at håndtere flytte til venstre. Så irriterende detaljer her, er, at når vi har en nøgle ned eller nøgle op begivenhed inde i input boksen, vi ønsker at event.stop formering, som er bare for at forhindre forskydning af skytten. Når det er håndteret, ønsker vi også at tilføje en handler til teleport knappen. Når vi klikker på teleport knappen, vi få adressen, som er det nuværende værdi i input boksen, og derefter Vi kalder denne teleport funktion. Så hvad gør teleport funktion se ud? Nå, første ting, vi ser, er vi hjælp geocoder. geokodning. Så hvad er det? Tja, hvis vi ser på toppen, vi se, at vi har en ny global variabel, geocoder. Og dette er en global henvisning en geokodningstjeneste. Nu hvad betyder det gøre for os? Tja, i input boksen, jeg kommer til at være indtastning noget som 33 Oxford Street Cambridge, Massachusetts. Men vi kan ikke rigtig gøre noget med det. Vi ønsker at konvertere denne til bredde og længde. Og det er, hvad geokodningstjeneste kommer til at gøre for os. Nederst i initcb, ser vi, at vi har geocoder lig ny google.maps.geocoder der initialiserer denne variabel for os. Så tilbage til teleportere. Vi ser at vi bruger den geocoder. Vi geokodning den adresse, der var videregives til teleportere funktion, som blev greb fra input boksen. Og vi passerer det et opkald tilbage som tager resultater og status. Så første ting, vi er nødt til at kontrollere per API dokument google.maps. GeocodingService. Maps Så vi er nødt til at kontrollere status for at se om det returnerede. google.maps.GeocoderStatus.OK som tyder på, at vi har et gyldigt resultat. Hvis vi ikke gør det, så får vi ingen kan gøre. Dette kan være en ugyldig adresse. Eller API tjeneste kan være nede, eller hvem ved? Antager vi har en succes resultat så vi kommer til at få fat i den placering fra resultatet. Og vi kommer til at sætte Google Map i nederste højre hjørne for at være centreret på dette sted og opdatere bus på kortet til denne placering. Og nu er vi nødt til at opdatere Google Earth plug-in. Så vi opdaterer breddegrad og længdegrad af rumfærgen. Og vi har brug for at opdatere shuttle.localAnchorCartesian da hvis man ser på shuttle.js, vil du se, at der også holder styr på breddegrad og længdegrad. Så hvis vi ikke opdaterer det, har vi oprindelige bredde og længde opbevares skjult et sted. Så opdatere nu, vi kalder shuttle.updateCamera at genopfriske screene og vise os vores nye placering. Og det er det. Mit navn er Rob. Og dette var Shuttle.