ROB BOWDEN: Hi. Sunt Rob. Și sper că sunteți gata pentru a ridica ceea ce Am dropping off sau punerea în jos, sau să începem. Deci, primul lucru de care avem nevoie să faceți este să ridic. Acum, ridica va fi scoaterea icoane pasagerilor de la Google hartă, în colțul din dreapta jos și de la Google Earth în centrul orașului ecranului. Deci, în scopul de a elimina pe cei icoane, trebuie să avem trimiterile la ele undeva. Dar în prezent, funcția de popula doar scapa de ele. Așa că am de gând să aibă de a modifica popula pentru a le menține în jurul. Acum, primul lucru pe care îl vedem este că noi au o matrice de pasageri la nivel mondial. Și astfel vom folosi asta e la nivel mondial matrice de pasageri în populeaza. În popula, vom vedea că suntem looping peste tot pasagerilor noștri. Și este această buclă, care este crearea pune amprenta pentru Google Earth și marcator de hartă Google. Și așa acum modificare noastră pentru a popula este de a fi aici. Deci, suntem adăugarea de la pasagerii noștri " matrice acest obiect, care este menținerea în jurul valorii de marca marker și loc ne-am creat împreună cu casa și Numele pasagerului. Deci, asta e pentru popula. Acum, avem nevoie să se uite la Pick Up. Deci, în Pick Up, vom merge din nou la itera peste tot pasagerilor noștri. Dar acum e la nivel mondial nostru pasagerilor matrice. Și aici vedem că de bine, s-au deja am luat acest pasager? Deoarece, dacă ne-am luat acest pasager, vom vedea în cele din urmă că vom stabili markerul și loc marcă de nul, deoarece nu au nici un mai harta Google în. Deci, dacă ne-am luat deja această pasager atunci vom doar de gând să continua la următoarea pasagerului. Altfel, vom verifica pentru a vedea dacă acest lucru Casa de pasageri este în interiorul a matrice casa lui. Aceasta este verificarea avem nevoie pentru a vă asigura că nu ne ridica boboc ca spec. spune. Deci, dacă pasagerul este un student în anul întâi, vom continua la următoarea pasagerului. După ce am verificat că aceasta este o de pasageri ar trebui să fie ridicarea, suntem acum de gând să verifice latitudinea și longitudine de pasageri și vedea în cazul în care este în termen de 15 de metri a navetei. Dacă acesta este cazul, ne-o dorim de fapt pentru a ridica acest pasager. Așa că am integra pe toate scaunele în transfer nostru, în căutarea pentru a vedea dacă există un loc disponibil pentru pasager. În cazul în care unul dintre scaunele este nul, care este un loc disponibil. Așa că am adăuga pasagerul de pe scaunul. Ne amintim că ne-am luat pasager astfel încât, în cele din urmă, putem anunța dacă suntem de fapt nu ridica nimeni. Ne amintim că ne-am așezat acest pasager deoarece, dacă vom reuși să obțineți prin întreaga naveta fără scaune de pasageri, atunci avem nevoie să anunță că nu mai avem locuri. Apoi ne-am elimina locul lor marca de la Google Earth. Ne scoate marcator lor de la Google Maps, stabilit în interiorul pasagerilor noștri " marcă loc matrice și marcaj la null cum am spus mai înainte. Și atunci asta este. Pasagerul a fost așezat. După ce am făcut asta pentru toți pasagerii în termen de 15 de metri de de transfer, trebuie să rechart. Deci Chart este ceea ce se întâmplă pentru a afișa pasagerii din scaunele de aici. Deci, acum, să ne uităm la Chart. In interiorul Chart, vom fi construirea HTML pentru diagramă. Deci, graficul se va fie o lista ordonata. Apoi, vom repeta peste tot de scaunele din navetă nostru. Deci, dacă acest scaun special, este nul, că înseamnă dorim un element de listă care indică faptul că este un simplu gol. Altfel, în cazul în care acesta nu a fost nul, atunci ne-o dorim un element de listă, care se va afișa numele pasagerului și casa de pasageri care este în acest loc. După ce ne-am reiterat peste tot a scaune apoi vom închide lista noastră ordonat și de a folosi jQuery pentru a selecta div diagramă și înlocuiți-l e HTML cu noul nostru lista ordonata. Și asta este pentru Chart. Deci, ultimul lucru este drop off. Acum, drop off va fi destul de similare pentru a ridica. În loc de a looping peste tot a pasagerilor, vom buclă peste toate locurile de transfer. Deci, looping pe scaunele de transfer, ne-am vezi este acest scaun special de transfer nu null, în cazul în care nu există un pasager în acest scaun. Dacă acesta este cazul, ne-o dorim pentru a apuca de latitudine și longitudine acestui pasager. Deci, folosind matrice casei, suntem O să iau casa pasageri în acest scaun și apoi apuca latitudine de casa special și în mod similar pentru longitudine. Acum, vom folosi din nou la distanță pentru a vedea în care casa este în termen de 30 de metri de noi. Dacă acesta este cazul, ei doresc să se stabilească acest scaun la null, deoarece pasagerul a fost lăsat, și creștere, care un pasager a fost lăsat. Astfel că în cele din urmă, în cazul în care nimeni nu a fost lăsat, anunțăm că nimeni nu vrea să fie lăsat aici. În cele din urmă, trebuie să rechart astfel încât vom afișa numărul de locuri noi, goale. Acum, trebuie doar să pună în aplicare unele caracteristici suplimentare. Acum, există o mulțime ai putea au ales de la. Dar în cazul nostru am implementat Teleport, zbor, și accelerarea, și excesul de viteză în jos. Așa că haideți să ne uităm la ele. În primul rând, haideți să aruncăm o privire la caracteristica accelerarea. Deci, în cazul nostru, în combinația de taste funcție, în cazul în care suntem deja de manipulare toate aceste chei, suntem, de asemenea, să recunoaște X și Z. Pe care am specifica că aceste personaje sunt de gând să determina viteza de transfer a crește și descrește. Astfel observa că am pus o limită cu privire la modul mare și pe modul în care un mic viteza poate de fapt, du-te, deoarece nu vrem de transfer a fi prea repede. Și noi, de asemenea, nu vrem navetei viteză pentru a merge la zero, sau, eventual, chiar negativ, care va avea ca rezultat în unele comportamente ciudate. Și asta e tot pentru exces de viteză în sus și încetinirea. Acum, haideți să aruncăm o privire la zbor. Deci, amintiți-vă că funcția de zbor vă solicită să introduceți codul Konami. Deci, în partea de sus, vom vedea avem unele variabile globale, Codul Konami care este o matrice care este doar a ține evidența chei care trebuie să fie introduse pentru Codul Konami. Există o Bool care indică doar dacă Codul Konami are deja fost introduse. Și apoi există indicelui în matrice Codul Konami că suntem în prezent la. Deci, dacă utilizatorul a introdus deja trei caractere ale codului Konami apoi indicele este de gând să indice Al patrulea lucru în matrice, al treilea index. Folosind că, încă o dată, vom uita-te la atac cerebral cheie. Și în accident vascular cerebral cheie vedem aici că dacă Codul Konami nu a fost deja a intrat, atunci vrem sa vedem este cheie, care a fost introdus ceea ce suntem așteaptă în prezent la matrice Codul Konami. Dacă acesta este cazul, atunci ne-am incrementa indexul nostru. Dacă utilizatorul tastează Până atunci index este de gând să merg la unul. Apoi, utilizatorul va tip nou, indicele merge la doi. Apoi, ei vor de tip jos, se va merge la trei. În cazul în care tipul Q, se va reseta la zero, deoarece acestea nu se potrivesc valoarea așteptată. Acum, în cazul în care reușesc să obțină prin întreaga gamă apoi au intrat pe Codul Konami. Caz în care, acum că Konami a intrat este adevărat, vom vedea aici că, dacă Konami a fost introdusă, vom accepta două noi chei, C și E. Care toate acestea vor face este stabilit de zbor în jos și de zbor state în sus în navetă. Deci, exista deja pentru tine. Trebuie doar să ia profita de ele. Și asta este pentru zbor. Trecut, ne-am teleporta. Deci, în interiorul HTML, vom vedea că am adăugat o casetă de intrare și o buton teleporta. Cutia are adresa ID-ul, și butonul are un buton de teleportare de identitate. Acum, un detaliu enervant este faptul că dacă nu facem nimic cu eveniment Stivuitoare atunci când încercăm să tastați ceva de genul o în caseta de intrare, în loc de fapt legarea A, Google nostru Pământul se va trece la a plecat de la A este deja înregistrată să se ocupe deplasează spre stânga. Astfel încât detaliile enervant de aici este că atunci când avem o cheie în jos sau în sus tasta eveniment în interiorul caseta de intrare, ne-o dorim la event.stop propagare care este doar să prevină alunecare de naveta. Odată ce manipulat, noi, de asemenea, să adăugați un handler pentru butonul de teleportare. Când ne-am faceți clic pe butonul de teleportare, ne-am apuca adresa, care este curentul valoare în caseta de intrare, și apoi noi numim această funcție de teleportare. Deci, ceea ce face teleporta Funcția arata ca? Ei bine, primul lucru pe care îl vedem este că suntem folosind geocoder. geocodificată. Deci, ce este asta? Ei bine, dacă ne uităm la partea de sus, vom vedea că avem un nou variabilă globală, geocoder. Și aceasta este o referință la nivel mondial la un serviciu de geocodare. Acum, ce are de făcut pentru noi? Ei bine, în caseta de intrare, am de gând să fie intra ceva de genul 33 Oxford Street Cambridge, Massachusetts. Dar nu putem face într-adevăr nimic cu asta. Ne dorim pentru a converti că la latitudine și longitudine. Și asta e ceea ce serviciul de geocodare este de gând să facă pentru noi. În partea de jos a initcb, vom vedea că avem geocoder egal nou google.maps.geocoder care initializeaza această variabilă pentru noi. Deci, înapoi la teleporta. Vedem suntem folosind geocoder. Suntem geocodificarea adresa care a fost transmis funcției Teleport care a fost luat de la caseta de intrare. Și vom trece un apel înapoi care are rezultate și de stare. Deci, primul lucru de care avem nevoie pentru a verifica pe documentul API de google.maps. GeocodingService. Hărți Deci, avem de a verifica starea pentru a vedea dacă acesta a revenit. google.maps.GeocoderStatus.OK care indică faptul că avem un rezultat valid. Dacă noi nu, atunci avem, nu pot face. Acest lucru ar putea fi o adresă invalidă. Sau s-ar putea service API fie în jos sau cine stie? Presupunând că avem un rezultat de succes, atunci vom apuca locația de la rezultatul. Și vom stabili harta Google în colțul din dreapta jos pentru a fi centrat în acea locație și actualiza autobuz pe harta pentru acea locație. Și acum avem nevoie pentru a actualiza Google Earth conectați-in. Așa că am actualiza latitudine și longitudine a navetei. Și, de asemenea, avem nevoie pentru a actualiza shuttle.localAnchorCartesian deoarece dacă te uiți la shuttle.js, veți vedea că care ține de asemenea evidența latitudine și longitudine. Deci, dacă noi nu se actualizează că, ne-am latitudine și longitudine originală stocate ascuns undeva. Astfel actualizarea că acum, noi numim shuttle.updateCamera pentru a reîmprospăta ecran si ne arata noua noastra locatie. Și asta e tot. Numele meu este Rob. Și acest lucru a fost de transfer.