>> 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.