>> ROB BOWDEN: Hi.
Ik ben Rob.
En ik hoop dat je klaar bent om te halen wat bent Ik zet uit of neer te zetten,
of laten we beginnen.
Dus eerste wat we moeten te doen is af te halen.
Nu, pick-up gaat worden het verwijderen van de pictogrammen passagiers uit de Google
kaart in de rechter benedenhoek en uit Google Earth in het centrum van
het scherm.
Dus om die te verwijderen pictogrammen, moeten we de
verwijzingen naar hen ergens.
Maar op dit moment, de Populate functie alleen krijgt ontdoen van hen.
Dus we zullen moeten wijzigen bevolken om ze te houden.
>> Nu eerste wat we zien is dat we hebben een wereldwijd passagiers array.
En dus gaan we gebruiken dat de wereldwijde's passagiers array in te vullen.
In Populate, zien we dat we een lus over al onze passagiers.
En het is deze lus dat is het creëren van de plaats keurmerk voor Google Earth en de
marker voor de Google Map.
En dus nu onze modificatie te bevolken is om hier te zijn.
Dus we zijn toe te voegen aan onze passagiers ' matrix dit object dat is het houden van
rond de marker en de plaats mark we gewoon gemaakt samen met het huis en
de naam van de passagier.
>> Dus dat is het voor Populate.
Nu moeten we kijken naar Pick Up.
Dus in te halen, zijn we opnieuw gaan itereren over al onze passagiers.
Maar nu is het onze wereldwijde passagiers array.
En hier zien we dat goed hebben we al opgepikt dit passagier?
Want als we dit hebben opgepikt passagier, zien we op het einde dat
we gaan naar de markering in te stellen en de plaats merk null omdat ze geen
langer in de Google map.
>> Dus als we al hebben opgepikt dit passagier dan zijn we gewoon gaan
doorgaan naar de volgende passagier.
Else, controleren we of deze huis passagier is de binnenkant van de
array-huis.
Dit is de controle die we nodig hebben om ervoor te zorgen dat we niet halen van de eerstejaars als
de spec zegt.
Dus als de passagier is een eerstejaars, we gaan
doorgaan naar de volgende passagier.
>> Zodra we hebben geverifieerd dat dit een passagier we moeten oppakken,
we gaan nu controleren de breedtegraad en lengtegraad van de passagier en zien
als dat binnen 15 meter van de shuttle.
Als dat het geval is, we eigenlijk willen te halen deze passagier.
Zo integreren we over alle van de zetels in onze shuttle op zoek om te zien of
er is een beschikbare plek voor de passagier.
Als een van de stoelen is null, dat is een beschikbare plek.
Dus we voegen de passagier aan de zitting.
We herinneren ons dat we pakte de passagier zodat op het einde, we kunnen
aankondigen als we daadwerkelijk heeft niemand op te halen.
We herinneren ons dat we dit zitten passagier want als we erin om
door de hele shuttle zonder zitplaatsen de passagier, dan moeten we
aankondigen dat we uit zetels.
>> Dan is hun plaats te verwijderen we markeren van Google Earth.
We verwijderen de marker van Google Maps, set binnen van onze passagiers '
matrix plaats merk en marker null zoals we eerder gezegd.
En dan is dat het.
De passagier heeft gezeten.
Zodra we dat gedaan hebt voor alle passagiers binnen 15 meter van de
shuttle, we moeten rechart.
>> Dus Grafiek is wat er gaat weer de passagiers in de stoelen hier.
Dus nu, laten we eens kijken naar Chart.
Binnenkant van Chart, we gaan zijn bouw van de HTML voor de grafiek.
Dus de grafiek gaat zijn een geordende lijst.
Dan zullen we itereren over alle de stoelen in onze shuttle.
Dus als deze bijzondere stoel is null, dat betekent dat we een lijst met items die
geeft aan dat het een lege eenvoudig.
Anders, als het niet null is, dan willen we een post List dat gaat geven
de naam van de passagier en het huis van de reiziger
dat is in deze stoel.
>> Zodra we hebben herhaald over alle zetels sluit vervolgens we onze geordende lijst
en het gebruik van jQuery om de grafiek div selecteren en vervang het is HTML met onze nieuwe
geordende lijst.
En dat is het voor Grafiek.
>> Dus laatste is afzetten.
Nu drop off gaat worden redelijk vergelijkbaar te halen.
In plaats van een lus over alle passagiers, gaan we lus over
alle van de shuttle zetels.
Dus looping over de shuttle zetels, we zien is deze bijzondere shuttle zetel
niet null, in welk geval er een passagier in deze stoel.
Als dat het geval is, willen we te grijpen de lengte-en
lengtegraad van deze passagier.
>> Dus met behulp van matrix van het huis, we zijn gaan naar het huis van het grijpen
passagier in deze stoel en grijp dan de breedtegraad van dat specifieke huis
en zo ook voor de lengtegraad.
Nu, we opnieuw gebruiken afstand te zien in dat huis ligt binnen 30 meter van ons.
Als dat het geval is, ze willen instellen deze stoel op null, omdat de passagier
werd afgezet, en increment dat een passagier werd afgezet.
Zodat uiteindelijk, als niemand afgezet, we aankondigen dat niemand
hier wil worden afgezet.
>> Tot slot moeten we zodat rechart we weer nieuwe, lege stoelen.
Nu, je hoeft alleen maar uit te voeren aantal extra features.
Nu, er is u genoeg kon hebben gekozen.
Maar in ons geval hebben we geïmplementeerd teleport, vliegen, en versnellen, en
snelheidsovertredingen op.
Dus laten we eens kijken naar die.
Laten we eerst eens een kijkje nemen op het versnellen functie.
Dus in ons geval, in de toetsaanslag functie, waar we al zijn handling
al deze toetsen, we ook naar herkennen X en Z. Die we specificeren
dat deze tekens gaan veroorzaken van de shuttle snelheid aan
verhogen en verlagen.
>> Dus merken dat we een gebonden over hoe hoog en over hoe een lage snelheid kan de
daadwerkelijk te gaan omdat we niet willen de shuttle te snel zijn.
En we willen ook niet van de shuttle snelheid naar nul of eventueel
zelfs negatief wat resulteert in sommige vreemde gedrag.
En dat is het voor te hard rijden op en vertragen.
>> Nu, laten we eens een kijkje nemen op vliegen.
Dus denk dat de vliegende functie vereist dat u de Konami Code in te voeren.
Dus op naar de top, zien we dat we een aantal globale variabelen, Konami Code die
een array die net is het bijhouden van de toetsen die moeten worden ingevoerd voor
de Code van Konami.
Er is een Bool die geeft alleen maar aan of de Konami Code heeft al
zijn ingevoerd.
En dan is er de index in de Konami Code array die
We zijn momenteel op.
>> Als de gebruiker al drie is getreden karakters van de Konami Code
dan de index zal wijzen de vierde zaak in de array, de
derde index.
Met behulp van dat, zult opnieuw we kijk naar toetsaanslag.
En in toetsaanslag zien we hier dat als de Konami Code nog niet geweest
ingevoerd, dan willen we zien is de sleutel die is ingevoerd wat we
momenteel verwacht van de Konami Code array.
Als dat het geval is, dan We verhogen onze index.
>> Als de gebruiker typen Up vervolgens index gaat naar een.
Dan zal de gebruiker opnieuw uittypen, de index gaat naar twee.
Dan zullen ze typt beneden, het zal gaan om drie.
Als ze type Q, zal het opnieuw op nul omdat ze niet overeenkomen
de verwachte waarde.
Nu, als ze erin te krijgen door de hele array dan hebben ze de
Code van Konami.
In welk geval, nu dat Konami ingevoerd waar is, hier zien we dat, wanneer
Konami is ingevoerd, accepteren we twee nieuwe toetsen, C en E. Welke al die zal doen
ligt het vliegen naar beneden en vliegen opwaartse staten in de shuttle.
Dus al bestaan ​​voor je.
Je hoeft alleen maar te nemen voordeel mee.
En dat is het voor het vliegen.
>> Laatst hebben we teleporteren.
Dus binnenkant van de HTML, zien we dat we hebben een invoerveld en een toegevoegde
teleport knop.
De doos heeft ID-adres, en de knop heeft een ID teleport knop.
Nu is een vervelende kleine detail is dat Als we niets doen met evenement
handlers dan wanneer we proberen te typen Iets als een in het invoerveld,
in plaats van het daadwerkelijk binden A, onze Google Aarde gaat verhuizen naar het
gelaten aangezien een reeds geregistreerd te hanteren naar links te bewegen.
>> Dus de vervelende detail hierbij is dat wanneer we een sleutel omlaag of omhoog
evenement binnenkant van de doos input, we willen propagatie event.stop die
alleen maar om te voorkomen dat de schuiven van de shuttle.
Zodra dat is behandeld, willen we ook toe te voegen een handler aan de teleport knop.
Toen we op de teleport knop, we pak het adres, dat is de huidige
waarde in het invoerveld, en vervolgens we deze teleport functie aan te roepen.
>> Dus wat doet de teleport functie eruit?
Nou, het eerste wat we zien is dat we gebruik geocoder. geocode.
Dus wat is dat?
Nou, als we kijken naar de top, we zien dat we een nieuwe
globale variabele, geocoder.
En dit is een wereldwijde referentie een geocoding service.
Wat betekent dat voor ons?
Nou, in het invoerveld, ga ik wel het invoeren van iets als 33 Oxford
Street Cambridge, Massachusetts.
Maar we kunnen niet echt iets mee.
We willen zetten dat om lengte-en breedtegraad.
En dat is wat de dienst geografische codering gaat doen voor ons.
Aan de onderkant van initcb, zien we dat we hebben geocoder gelijk nieuwe
google.maps.geocoder die initialiseert deze variabele voor ons.
>> Dus terug te teleporteren.
We zien dat we met behulp van de geocoder.
We geocoding het adres dat was doorgegeven aan de functie die teleport
werd gegrepen van het invoerveld.
En we passeren het telefoontje terug die de resultaten en status neemt.
Dus eerste wat we moeten om te controleren per de API document van google.maps.
GeocodingService.
Kaarten
>> Dus moeten we de status te controleren om te zien of het weer terug.
google.maps.GeocoderStatus.OK die geeft aan dat we een geldig resultaat.
Als we dat niet, dan krijgen we, nee kan doen.
Dit kan een ongeldig adres zijn.
Of de API-macht zijn beneden of wie weet?
Ervan uitgaande dat we een succesvol resultaat dan we gaan naar de locatie te pakken van
het resultaat.
En we gaan naar de Google Map te stellen in de rechter benedenhoek te zijn
gecentreerd op die locatie en het actualiseren van de bus op de kaart naar die locatie.
>> En nu moeten we het actualiseren van de Google Earth plug-in.
Dus werken we de lengte-en lengtegraad van de shuttle.
En we moeten ook werken shuttle.localAnchorCartesian want als
je kijkt naar shuttle.js, zult u zien dat die ook houdt breedtegraad
en lengtegraad.
Dus als we niet bijwerken dat, hebben we de oorspronkelijke lengte-en breedtegraad
opgeslagen ergens verborgen.
Dus updaten die nu, noemen we shuttle.updateCamera om Vernieuw de
screenen en toon ons onze nieuwe locatie.
En dat is het.
Mijn naam is Rob.
En dit was naar het vliegveld.