ROB BOWDEN: Hi. Ek is Rob. En ek hoop jy is gereed om af te haal wat Ek afval of om dit af, of laat ons begin. So die eerste ding wat ons nodig te doen, is om af te haal. Nou, haal gaan word die verwydering van die passasiers se ikone van die Google kaart in die onderste regterkantste hoek en uit die Google Earth in die middel van die skerm. So ten einde diegene te verwyder ikone, moet ons die verwysings na hulle iewers. Maar op die oomblik, die vul funksie net ontslae raak van hulle. So ons gaan hê om aan te pas vul hulle te hou rond. Nou eerste ding wat ons sal sien, is dat ons het 'n globale passasiers skikking. En so gaan ons dat die wêreldwye se gebruik passasiers skikking in vul. In te vul, sien ons dat ons herhaling oor almal van ons passasiers. En dit is hierdie lus wat is die skep van die plaas punt vir Google Earth en die merker vir die Google Map. En so nou is ons verandering aan te vul, is om hier te wees. So ons is te voeg aan ons passasiers ' verskeidenheid hierdie voorwerp wat hou om die merker en plek merk ons ​​net geskep saam met die huis en die naam van die passasier. So dit is dit vir bevolk. Nou het ons nodig het om te kyk na Pick Up. So in Pick Up, ons weer gaan Itereer oor almal van ons passasiers. Maar nou is dit ons globale passasiers skikking. En hier is ons wat goed sien, het ons reeds opgetel die passasier? Want as ons opgetel hierdie passasier, sien ons in die einde wat ons gaan die merker te stel en die plek punt te null aangesien hulle geen meer in die Google kaart. So as ons reeds opgetel passasier dan is ons net gaan om te voortgaan om die volgende passasier. Anders, ons gaan om te sien of dit passasier se huis is die binnekant van die huis se skikking. Dit is die tjek wat ons nodig het om seker te maak dat ons nie af te haal nie die eerstejaars as die spec sê. So indien die passasier is 'n groentjie, ons gaan voortgaan om die volgende passasier. Sodra ons het bewys dat dit 'n passasier ons moet pluk, ons nou gaan die lengte te gaan en lengtegraad van die passasier en sien As dit is binne 15 voete van die bus. As dit die geval is, het ons eintlik wil hê af te haal hierdie passasier. So het ons integreer oor al die sitplekke in ons shuttle soek om te sien of daar is 'n plek beskikbaar vir die passasier. As een van die sitplekke is van nul, dit is 'n beskikbare plek. So voeg ons die passasier in die stoel. Ons dink dat ons opgetel die passasier, sodat in die einde, ons kan kondig as ons werklik nie tel iemand up. Ons dink dat ons sit hierdie passasier, want as ons beheer te kry deur die hele bus sonder sitplek die passasier, dan moet ons kondig dat ons uit sitplekke. Daarna het ons verwyder hulle plek merk van Google Earth. Ons verwyder hul merker van Google Maps, stel binnekant van ons passasiers ' verskeidenheid plekmerk en merker te null Soos ons vantevore gesê. En dan is dit. Die passasier op sit. Sodra ons dit gedoen het vir alle passasiers binne 15 meter van die pendeltuig, moet ons rechart. So kaart is wat gaan om te wys die passasiers in die sitplekke hier. So nou, laat ons kyk na Chart. Binnekant van Chart, gaan ons te wees die bou van die HTML vir die grafiek. So het die grafiek gaan wees om 'n geordende lys. Dan sal ons Itereer oor die hele die sitplekke in ons pendel. So as hierdie spesifieke sitplek is nul, wat beteken dat ons wil 'n lys item wat dui daarop dat dit 'n leë maklik. Anders, as dit nie was nul, dan wil ons 'n Lys item wat gaan om te vertoon die naam van die passasiers-en die huis van die passasier dit is in hierdie plek. Sodra ons het herhaal oor al die sitplekke dan sluit ons ons geordende lys en gebruik jQuery die grafiek div te kies en vervang dit is HTML met ons nuwe geordende lys. En dit is dit vir Chart. So laaste ding is afstap. Nou afstap gaan wees redelik soortgelyk aan haal. In plaas van die herhaling oor al die passasiers, gaan ons lus oor al die bus sitplekke. So herhaling oor die bus sitplekke, ons sien, is hierdie spesifieke shuttle sitplek nie null, in welke geval daar is 'n passasier in die stoel. As dit die geval is, wil ons die lengte aan te gryp en Longitude van hierdie passasier. So met behulp van die huis se skikking, ons is gaan in die huis van die te gryp passasier in die stoel en dan gryp die breedte van die betrokke huis en soortgelyk vir lengtelyn. Nou, ons weer gebruik afstand te sien in daardie huis is binne 30 meter van ons. As dit die geval is, wil hulle op te stel hierdie setel van nul, aangesien die passasier afgelaai en omgeslaan dat 'n passasier was afgelaai. Sodat in die einde, as niemand was afgelaai, ons bekend maak dat niemand wil word laat val hier af. Ten slotte, moet ons sodat rechart wys ons 'n nuwe, leë sitplekke. Nou, het jy net nodig het om te implementeer 'n paar ekstra funksies. Nou, daar is baie wat jy kan gekies uit. Maar in ons geval het ons geïmplementeer verplaas, vlieg, en die bespoediging, en bespoediging af. So laat ons kyk na hulle. Eerstens, laat ons 'n blik op die bespoediging van die funksie. So in ons geval, in die aanslag funksie, waar ons reeds die hantering al hierdie sleutels, ons gaan ook erken X en Z. Wat ons spesifiseer dat hierdie karakters gaan die bus se snelheid te veroorsaak verhoog en verlaag. So sien dat ons 'n gebonde oor hoe hoog en oor hoe 'n lae snelheid kan eintlik gaan, want ons wil nie die bus te wees te vinnig. En ons wil ook nie die bus se snelheid te gaan na nul of dalk selfs negatief wat sal lei tot in 'n vreemde gedrag. En dit is dit vir spoed en stadiger. Nou, Kom ons neem 'n blik op die vlieg. So onthou dat die vlieënde funksie vereis dat jy die Konami kode in te voer. So by die top, sien ons ons het 'n paar globale veranderlikes, Konami Kode wat 'n skikking wat net hou van die sleutels wat vir ingevoer moet word die Konami kode. Daar is 'n Bool wat net dui of die Konami kode is reeds ingevoer is. En dan is daar die indeks in die Konami Kode skikking wat ons is tans op. So as die gebruiker het reeds ingeskryf drie karakters van die Konami Kode dan is die indeks gaan om te wys op die vierde ding in die skikking, die derde indeks. Gebruik van daardie, sal ons weer kyk na die sleutel beroerte. En in die sleutel beroerte hier sien ons dat indien die Konami Kode nie reeds ingeskryf is, dan wil ons sien, is die sleutel wat aangegaan is wat ons is tans verwag van die Konami Kode skikking. As dit die geval is, dan ons inkrementeer indeks. As die gebruiker Up dan indeks gaan om te gaan vir die een. Dan sal die gebruiker tik weer, die indeks gaan na twee. Dan sal hulle tik af, dit sal gaan tot drie. As hulle tik Q, sal dit herstel na nul, aangesien hulle nie pas die verwagte waarde. Nou, as hulle dit regkry om deur die hele skikking dan het hulle in die Konami kode. In hierdie geval, nou dat Konami aangegaan is waar, ons sien hier dat indien Konami aangegaan word, aanvaar ons twee nuwe sleutels, C en E. Watter almal sal doen is ingestel op die vlieënde afwaartse en vlieg opwaartse state in die bus. So bestaan ​​reeds vir jou. Jy hoef net te neem voordeel van hulle. En dit is dit om te vlieg. Uiteindelik het ons verplaas. So binnekant van die HTML, sien ons dat ons 'n bydrae boks en 'n het bygevoeg verplaas knoppie. Die boks het ID-adres, en die knoppie het 'n ID teleporteer knoppie. Nou een irriterende klein detail is dat As ons nie iets met die gebeurtenis nie hanteerders dan wanneer ons probeer om te tik Iets soos 'n in die insette boks, in plaas van werklik vasmaak A, ons Google Aarde gaan skuif na die verlaat omdat A is reeds geregistreer te hanteer beweeg na links. So het die irriterende detail hier is dat wanneer ons 'n belangrike sleutel tot af of Indien binnekant van die insette boks, ons wil voortplanting te event.stop wat net gaan om te verhoed dat die gly van die bus. Sodra dit hanteer, ons wil ook by te voeg 'n hanteerder na die teleporteer knoppie. Toe ons op die teleporteer knoppie, ons gryp die adres, wat is die huidige waarde in die insette boks, en dan ons noem dit verplaas funksie. So, wat doen die teleporteer funksie lyk? Wel, die eerste ding wat ons sien, is ons gebruik geocodeerder. geocodering. So wat is dit? Wel, as ons kyk na die top, ons sien dat ons 'n nuwe globale veranderlike, geocodeerder. En dit is 'n globale verwysing 'n geocoding diens. Nou wat beteken dit vir ons te doen? Wel, in die insette boks, ek gaan om te wees betree iets soos 33 Oxford Street Cambridge, Massachusetts. Maar ons kan nie regtig enigiets met daardie. Ons wil hê dat die oor te skakel na breedte-en lengteligging. En dit is wat die geocoding diens gaan vir ons te doen. Aan die onderkant van initcb, sien ons dat ons het geocodeerder gelyk aan nuwe google.maps.geocoder wat initialisatie hierdie veranderlike vir ons. So terug te verplaas. Ons sien ons met behulp van die geocodeerder. Ons geocoding die adres wat geslaag om die teleport funksie wat was gegryp uit die insette boks. En ons is om dit terug te bel wat neem resultate en status. So die eerste ding wat ons nodig het om te kyk per die API dokument van google.maps. GeocodingService. Kaarte So het ons die status te keur om te sien of dit terugbesorg. google.maps.GeocoderStatus.OK wat dui daarop dat ons 'n geldige gevolg. As ons nie doen nie, dan is ons kry, nie kan doen nie. Dit kan 'n geldige adres te wees. Of die API diens mag wees af of wie weet? Veronderstelling ons het 'n sukses gevolg dan ons gaan die plek om te gryp uit die resultaat. En ons gaan die Google Map te stel in die onderste regterkantste hoek te wees gesentreer op die plek en werk die bus op die kaart op die plek. En nou het ons nodig het om te werk om die Google Earth plug-in. So het ons die lengte werk en Longitude van die bus. En ons het ook nodig het om te werk shuttle.localAnchorCartesian want as jy kyk na shuttle.js, sal jy sien dat wat hou ook breedte en breedtegraad. So as ons werk nie doen nie, ons het die oorspronklike lengte-en breedte gestoor iewers weggesteek. So afhangende van wat nou, ons noem shuttle.updateCamera te verfris die skerm en wys ons ons nuwe plek. En dit is dit. My naam is Rob. En dit was Shuttle.