>> ROB BOWDEN: Hei.
Jeg er Rob.
Og jeg håper du er klar til å plukke opp hva Jeg faller av eller sette ned,
eller la oss komme i gang.
Så første vi må å gjøre er å plukke opp.
Nå, plukke opp kommer til å bli fjernet passasjerenes ikoner fra Google
kart nederst i høyre hjørne, og fra Google Earth i sentrum av
skjermen.
Så for å fjerne de ikoner, må vi ha
referanser til dem et sted.
Men i dag, den befolker funksjon bare blir kvitt dem.
Så vi er nødt til å endre befolke å ​​holde dem rundt.
>> Nå første vi får se er at vi har en global passasjerer array.
Og så vi kommer til å bruke den globale sin passasjerer array i befolker.
I befolker, ser vi at vi looping løpet av alle våre passasjerer.
Og det er denne sløyfen som er å skape den legg merke til Google Earth og
markør for Google Map.
Og så nå vår modifikasjon å befolke er å være her.
Så vi legger videre til våre passasjerer ' matrise dette objektet som holder
rundt markøren og plasser merket vi bare laget sammen med huset og
navnet på passasjeren.
>> Så det er det for befolker.
Nå må vi se på Pick Up.
Så i Pick Up, er vi nok en gang kommer til å iterere over alle våre passasjerer.
Men nå er det vår globale passasjerer array.
Og her vi ser at vel, har vi allerede plukket opp denne passasjer?
Siden hvis vi har plukket opp denne passasjer, ser vi til slutt at
vi kommer til å sette markøren og sted mark til null, siden de er ikke
lenger i Google-kartet.
>> Så hvis vi allerede har plukket opp denne passasjer da vi bare kommer til å
fortsette til den neste passasjer.
Else, sjekker vi for å se om dette passasjerens hus er innvendig
husets array.
Dette er den sjekken vi må sørge for at at vi ikke plukke opp freshman som
spec sier.
Så hvis passasjeren er en førsteårsstudent, vi kommer til å
fortsette til den neste passasjer.
>> Når vi har bekreftet at dette er et passasjer vi skal plukke opp,
vi nå kommer til å sjekke breddegrad og lengde av passasjeren og se
hvis det er innenfor 15 fot av romfergen.
Hvis det er tilfelle, vi faktisk ønsker for å plukke opp denne passasjer.
Så vi integrere over alt av setene i vår shuttle ønsker å se om
det er en ledig flekk for passasjeren.
Hvis ett av setene er null, det er en tilgjengelig sted.
Så vi legger passasjeren til setet.
Vi husker at vi plukket opp passasjer, slik at til slutt, kan vi
kunn hvis vi faktisk ikke plukke noen opp.
Vi husker at vi satt dette passasjer siden hvis vi klarer å få
gjennom hele transport uten sitte passasjeren, så vi trenger å
kunngjøre at vi er ute av setene.
>> Deretter fjerner vi deres sted markere fra Google Earth.
Vi fjerner markør sine fra Google Maps, satt inne for våre passasjerer '
matrise sted mark og markør til null som vi sa før.
Og så det er det.
Passasjeren har blitt sittende.
Når vi har gjort det for alle passasjerer innen 15 meter av
transport, må vi rechart.
>> Så Chart er hva som kommer til å vise passasjerer i setene over her.
Så nå, la oss se på figur.
Innsiden av Chart, kommer vi til å være konstruere HTML for diagrammet.
Så diagrammet kommer til å være en sortert liste.
Så får vi iterere over alle setene i vår shuttle.
Så hvis dette setet er null, som betyr at vi vil ha en liste element som
indikerer at det er en tom lett.
Else, hvis det ikke var null, så vi ønsker en liste element som kommer til å vise
navnet på passasjeren og huset til passasjer
det er i dette setet.
>> Når vi har iterated over alt av seter så vi avslutter vår sortert liste
og bruke jQuery for å velge diagram div og erstatte det er HTML med vår nye
sortert liste.
Og det er det for Chart.
>> Så siste ting er frafalt.
Nå frafalt kommer til å være ganske lik å plukke opp.
I stedet for å sløyfe over alt i passasjerer, skal vi løkken over
alle transporttjenester seter.
Så looping over shuttle seter, vi se er dette spesielt shuttle sete
ikke null, og da er det en passasjer i dette setet.
Hvis det er tilfelle, vi ønsker å ta tak i breddegrad og
lengdegrad for denne passasjeren.
>> Så bruker husets array, er vi kommer til å ta tak i hus
passasjer i dette setet og deretter ta tak i breddegrad av det aktuelle huset
og tilsvarende for lengdegrad.
Nå, vi igjen bruke avstand for å se i det huset er innenfor 30 meter over oss.
Hvis det er tilfelle, de ønsker å sette dette setet til null, siden passasjer
ble droppet av, og tilvekst som en passasjer ble kastet av.
Slik at til slutt, hvis ingen var falt av, vi kunngjøre at ingen
ønsker å bli droppet av her.
>> Til slutt må vi rechart slik at vi vise nye, tomme seter.
Nå, du trenger bare å implementere noen ekstra funksjoner.
Nå, det er masse du kan har valgt fra.
Men i vårt tilfelle vi implementert Teleport, flying, og påskynde, og
fart nedover.
Så la oss se på dem.
Først, la oss ta en titt på påskynde funksjonen.
Så i vårt tilfelle, i tastetrykk funksjon, hvor vi allerede håndtering
alle disse nøklene, vi også kommer til å gjenkjenne X og Z. Som vi spesifisere
at disse tegnene skal forårsake romfergens hastighet til
øke og minke.
>> Så merker at vi setter en grense for hvor høy og på hvordan en lav hastighet kan
faktisk gå siden vi ikke ønsker shuttle å være for rask.
Og vi vil heller ikke romfergens hastighet til å gå til null eller muligens
og med negativ noe som vil resultere i noen merkelige oppførsel.
Og det er det for fartsovertredelse opp og bremse ned.
>> Nå, la oss ta en titt på fly.
Så husk at den flygende funksjonen krever at du skriver inn Konami-koden.
Så opp på toppen, ser vi at vi har noen globale variabler, Konami-koden som er
en matrise som er bare å holde orden på nøkler som må legges inn for
Konami-koden.
Det er en Bool som bare indikerer om Konami-koden har allerede
er inngått.
Og så er det indeksen inn Konami-koden array som
vi er nå på.
>> Så hvis brukeren allerede har inngått tre tegnene i Konami-koden
da indeksen kommer til å peke på den fjerde tingen i tabellen,
tredje indeks.
Ved hjelp av det, en gang vi kommer se på tastetrykk.
Og i tastetrykk ser vi her at hvis Konami-koden har ikke allerede vært
angitt, så vi ønsker å se er den nøkkel som var innlagt hva vi er
i dag forventer fra Konami-koden array.
Hvis det er tilfelle, så vi øke vår indeks.
>> Hvis brukeren skriver Up da indeksen kommer til å gå til en.
Da vil brukeren skrive opp igjen, indeksen går til to.
Deretter vil de skrive ned, det vil gå til tre.
Hvis de skriver Q, vil det tilbakestilles til null siden de ikke samsvarte
den forventede verdien.
Nå, hvis de klarer å komme seg gjennom Hele dette da de har kommet inn i
Konami-koden.
I så fall, nå som Konami inn er sant, vi ser her nede at hvis
Konami ble inngått, aksepterer vi to nye nøkler, C og E. Hvilke alle dem vil gjøre
er satt flygende nedover og flyr oppover stater i romfergen.
Så allerede finnes for deg.
Du trenger bare å ta Fordelen med dem.
Og det er det for å fly.
>> Siste, har vi teleportere.
Så innsiden av HTML, ser vi at Vi har lagt til en tekstboks og en
teleportere knappen.
Boksen har ID-adresse, og knappen har en ID teleport-knappen.
Nå er en irriterende liten detalj er at hvis vi ikke gjør noe med arrangementet
handlers så når vi prøver å skrive noe som A inn i boksen,
i stedet for å faktisk binde A, vår Google Jorda kommer til å flytte til
venstre siden A er allerede registrert for å håndtere i bevegelse mot venstre.
>> Så irriterende detalj her er at når vi har en nøkkel ned eller nøkkelen opp
hendelse inne i input-boksen, vi ønsker å event.stop forplantning som er
bare kommer til å forhindre at skyve av romfergen.
Når det er håndtert, ønsker vi også å legge til et behandlingsprogram til teleport-knappen.
Når vi klikker på teleport-knappen, vi ta tak i adressen, som er nåværende
verdi i boksen, og deretter vi kaller dette teleport funksjonen.
>> Så hva gjør Teleport Funksjonen ser ut?
Vel, første vi ser er at vi er hjelp geocoder. geokode.
Så hva er det?
Vel, hvis vi ser på toppen, vi ser at vi har en ny
global variabel, geocoder.
Og dette er et globalt referanse til en geokoding tjeneste.
Nå hva betyr det for oss?
Vel, i boksen, kommer jeg til å være legge inn noe sånt som 33 Oxford
Street Cambridge, Massachusetts.
Men vi kan ikke egentlig gjøre noe med det.
Vi ønsker å konvertere det til breddegrad og lengdegrad.
Og det er hva geokoding tjeneste kommer til å gjøre for oss.
På bunnen av initcb, ser vi at vi har geocoder lik ny
google.maps.geocoder som initialiserer denne variabelen for oss.
>> Så tilbake til å teleportere.
Vi ser at vi bruker geocoder.
Vi geokoding adressen som var gått over til teleport funksjon som
ble grep fra input-boksen.
Og vi passerer det en samtale tilbake som tar resultater og status.
Så første vi må sjekke per API dokument av google.maps.
GeocodingService.
Maps
>> Så vi må sjekke status for å se om det kom tilbake.
google.maps.GeocoderStatus.OK som viser at vi har et gyldig resultat.
Hvis vi ikke gjør det, så får vi, ingen kan gjøre.
Dette kan være en ugyldig adresse.
Eller API-makt være ned eller hvem vet?
Forutsatt at vi har en suksess resultat så vi kommer til å ta tak i plassering fra
resultatet.
Og vi kommer til å sette Google Map nederst i høyre hjørne for å være
sentrert på den plasseringen og oppdatere buss på kartet til stedet.
>> Og nå trenger vi å oppdatere Google Earth plug-in.
Så vi oppdatere breddegrad og lengde av transporttjenesten.
Og vi må også oppdatere shuttle.localAnchorCartesian siden hvis
du ser på shuttle.js, vil du se at som også holder styr på breddegrad
og breddegrad.
Så hvis vi ikke oppdaterer det, har vi opprinnelige lengde og breddegrad
lagres gjemt et sted.
Så oppdatering som nå, kaller vi shuttle.updateCamera å oppdatere
skjermen og vise oss vår nye plasseringen.
Og det er det.
Mitt navn er Rob.
Og dette var Shuttle.