1 00:00:00,000 --> 00:00:11,712 2 00:00:11,712 --> 00:00:12,850 >> ROB BOWDEN: Hi. 3 00:00:12,850 --> 00:00:13,780 Sunt Rob. 4 00:00:13,780 --> 00:00:19,500 Și sper că sunteți gata pentru a ridica ceea ce Am dropping off sau punerea în jos, 5 00:00:19,500 --> 00:00:22,230 sau să începem. 6 00:00:22,230 --> 00:00:25,040 Deci, primul lucru de care avem nevoie să faceți este să ridic. 7 00:00:25,040 --> 00:00:29,370 Acum, ridica va fi scoaterea icoane pasagerilor de la Google 8 00:00:29,370 --> 00:00:32,759 hartă, în colțul din dreapta jos și de la Google Earth în centrul orașului 9 00:00:32,759 --> 00:00:33,970 ecranului. 10 00:00:33,970 --> 00:00:37,180 Deci, în scopul de a elimina pe cei icoane, trebuie să avem 11 00:00:37,180 --> 00:00:39,040 trimiterile la ele undeva. 12 00:00:39,040 --> 00:00:43,680 Dar în prezent, funcția de popula doar scapa de ele. 13 00:00:43,680 --> 00:00:48,140 Așa că am de gând să aibă de a modifica popula pentru a le menține în jurul. 14 00:00:48,140 --> 00:00:53,440 >> Acum, primul lucru pe care îl vedem este că noi au o matrice de pasageri la nivel mondial. 15 00:00:53,440 --> 00:00:57,710 Și astfel vom folosi asta e la nivel mondial matrice de pasageri în populeaza. 16 00:00:57,710 --> 00:01:03,230 În popula, vom vedea că suntem looping peste tot pasagerilor noștri. 17 00:01:03,230 --> 00:01:10,420 Și este această buclă, care este crearea pune amprenta pentru Google Earth și 18 00:01:10,420 --> 00:01:12,540 marcator de hartă Google. 19 00:01:12,540 --> 00:01:16,420 Și așa acum modificare noastră pentru a popula este de a fi aici. 20 00:01:16,420 --> 00:01:21,760 Deci, suntem adăugarea de la pasagerii noștri " matrice acest obiect, care este menținerea 21 00:01:21,760 --> 00:01:26,480 în jurul valorii de marca marker și loc ne-am creat împreună cu casa și 22 00:01:26,480 --> 00:01:28,460 Numele pasagerului. 23 00:01:28,460 --> 00:01:30,560 >> Deci, asta e pentru popula. 24 00:01:30,560 --> 00:01:33,210 Acum, avem nevoie să se uite la Pick Up. 25 00:01:33,210 --> 00:01:38,540 Deci, în Pick Up, vom merge din nou la itera peste tot pasagerilor noștri. 26 00:01:38,540 --> 00:01:41,340 Dar acum e la nivel mondial nostru pasagerilor matrice. 27 00:01:41,340 --> 00:01:46,150 Și aici vedem că de bine, s-au deja am luat acest pasager? 28 00:01:46,150 --> 00:01:50,030 Deoarece, dacă ne-am luat acest pasager, vom vedea în cele din urmă că 29 00:01:50,030 --> 00:01:55,240 vom stabili markerul și loc marcă de nul, deoarece nu au nici un 30 00:01:55,240 --> 00:01:56,930 mai harta Google în. 31 00:01:56,930 --> 00:02:00,920 >> Deci, dacă ne-am luat deja această pasager atunci vom doar de gând să 32 00:02:00,920 --> 00:02:02,920 continua la următoarea pasagerului. 33 00:02:02,920 --> 00:02:07,380 Altfel, vom verifica pentru a vedea dacă acest lucru Casa de pasageri este în interiorul a 34 00:02:07,380 --> 00:02:08,590 matrice casa lui. 35 00:02:08,590 --> 00:02:11,900 Aceasta este verificarea avem nevoie pentru a vă asigura că nu ne ridica boboc ca 36 00:02:11,900 --> 00:02:13,180 spec. spune. 37 00:02:13,180 --> 00:02:15,920 Deci, dacă pasagerul este un student în anul întâi, vom 38 00:02:15,920 --> 00:02:18,190 continua la următoarea pasagerului. 39 00:02:18,190 --> 00:02:21,720 >> După ce am verificat că aceasta este o de pasageri ar trebui să fie ridicarea, 40 00:02:21,720 --> 00:02:25,340 suntem acum de gând să verifice latitudinea și longitudine de pasageri și vedea 41 00:02:25,340 --> 00:02:27,760 în cazul în care este în termen de 15 de metri a navetei. 42 00:02:27,760 --> 00:02:31,720 Dacă acesta este cazul, ne-o dorim de fapt pentru a ridica acest pasager. 43 00:02:31,720 --> 00:02:35,890 Așa că am integra pe toate scaunele în transfer nostru, în căutarea pentru a vedea dacă 44 00:02:35,890 --> 00:02:38,110 există un loc disponibil pentru pasager. 45 00:02:38,110 --> 00:02:41,540 În cazul în care unul dintre scaunele este nul, care este un loc disponibil. 46 00:02:41,540 --> 00:02:45,140 Așa că am adăuga pasagerul de pe scaunul. 47 00:02:45,140 --> 00:02:48,760 Ne amintim că ne-am luat pasager astfel încât, în cele din urmă, putem 48 00:02:48,760 --> 00:02:52,450 anunța dacă suntem de fapt nu ridica nimeni. 49 00:02:52,450 --> 00:02:56,140 Ne amintim că ne-am așezat acest pasager deoarece, dacă vom reuși să obțineți 50 00:02:56,140 --> 00:02:59,320 prin întreaga naveta fără scaune de pasageri, atunci avem nevoie să 51 00:02:59,320 --> 00:03:00,885 anunță că nu mai avem locuri. 52 00:03:00,885 --> 00:03:03,760 53 00:03:03,760 --> 00:03:06,885 >> Apoi ne-am elimina locul lor marca de la Google Earth. 54 00:03:06,885 --> 00:03:11,310 Ne scoate marcator lor de la Google Maps, stabilit în interiorul pasagerilor noștri " 55 00:03:11,310 --> 00:03:14,830 marcă loc matrice și marcaj la null cum am spus mai înainte. 56 00:03:14,830 --> 00:03:16,035 Și atunci asta este. 57 00:03:16,035 --> 00:03:17,050 Pasagerul a fost așezat. 58 00:03:17,050 --> 00:03:19,570 După ce am făcut asta pentru toți pasagerii în termen de 15 de metri de 59 00:03:19,570 --> 00:03:23,250 de transfer, trebuie să rechart. 60 00:03:23,250 --> 00:03:30,270 >> Deci Chart este ceea ce se întâmplă pentru a afișa pasagerii din scaunele de aici. 61 00:03:30,270 --> 00:03:32,760 Deci, acum, să ne uităm la Chart. 62 00:03:32,760 --> 00:03:37,960 In interiorul Chart, vom fi construirea HTML pentru diagramă. 63 00:03:37,960 --> 00:03:41,160 Deci, graficul se va fie o lista ordonata. 64 00:03:41,160 --> 00:03:44,300 Apoi, vom repeta peste tot de scaunele din navetă nostru. 65 00:03:44,300 --> 00:03:48,450 Deci, dacă acest scaun special, este nul, că înseamnă dorim un element de listă care 66 00:03:48,450 --> 00:03:50,800 indică faptul că este un simplu gol. 67 00:03:50,800 --> 00:03:55,650 Altfel, în cazul în care acesta nu a fost nul, atunci ne-o dorim un element de listă, care se va afișa 68 00:03:55,650 --> 00:03:58,660 numele pasagerului și casa de pasageri 69 00:03:58,660 --> 00:04:00,420 care este în acest loc. 70 00:04:00,420 --> 00:04:04,620 >> După ce ne-am reiterat peste tot a scaune apoi vom închide lista noastră ordonat 71 00:04:04,620 --> 00:04:09,410 și de a folosi jQuery pentru a selecta div diagramă și înlocuiți-l e HTML cu noul nostru 72 00:04:09,410 --> 00:04:10,550 lista ordonata. 73 00:04:10,550 --> 00:04:12,090 Și asta este pentru Chart. 74 00:04:12,090 --> 00:04:15,170 >> Deci, ultimul lucru este drop off. 75 00:04:15,170 --> 00:04:20,860 Acum, drop off va fi destul de similare pentru a ridica. 76 00:04:20,860 --> 00:04:24,150 În loc de a looping peste tot a pasagerilor, vom buclă peste 77 00:04:24,150 --> 00:04:25,780 toate locurile de transfer. 78 00:04:25,780 --> 00:04:29,720 Deci, looping pe scaunele de transfer, ne-am vezi este acest scaun special de transfer 79 00:04:29,720 --> 00:04:32,850 nu null, în cazul în care nu există un pasager în acest scaun. 80 00:04:32,850 --> 00:04:35,380 Dacă acesta este cazul, ne-o dorim pentru a apuca de latitudine și 81 00:04:35,380 --> 00:04:37,030 longitudine acestui pasager. 82 00:04:37,030 --> 00:04:42,110 >> Deci, folosind matrice casei, suntem O să iau casa 83 00:04:42,110 --> 00:04:46,990 pasageri în acest scaun și apoi apuca latitudine de casa special 84 00:04:46,990 --> 00:04:49,070 și în mod similar pentru longitudine. 85 00:04:49,070 --> 00:04:54,270 Acum, vom folosi din nou la distanță pentru a vedea în care casa este în termen de 30 de metri de noi. 86 00:04:54,270 --> 00:04:58,320 Dacă acesta este cazul, ei doresc să se stabilească acest scaun la null, deoarece pasagerul 87 00:04:58,320 --> 00:05:01,760 a fost lăsat, și creștere, care un pasager a fost lăsat. 88 00:05:01,760 --> 00:05:05,910 Astfel că în cele din urmă, în cazul în care nimeni nu a fost lăsat, anunțăm că nimeni nu 89 00:05:05,910 --> 00:05:07,600 vrea să fie lăsat aici. 90 00:05:07,600 --> 00:05:12,510 >> În cele din urmă, trebuie să rechart astfel încât vom afișa numărul de locuri noi, goale. 91 00:05:12,510 --> 00:05:15,770 Acum, trebuie doar să pună în aplicare unele caracteristici suplimentare. 92 00:05:15,770 --> 00:05:17,680 Acum, există o mulțime ai putea au ales de la. 93 00:05:17,680 --> 00:05:21,630 Dar în cazul nostru am implementat Teleport, zbor, și accelerarea, și 94 00:05:21,630 --> 00:05:22,770 excesul de viteză în jos. 95 00:05:22,770 --> 00:05:25,100 Așa că haideți să ne uităm la ele. 96 00:05:25,100 --> 00:05:27,830 În primul rând, haideți să aruncăm o privire la caracteristica accelerarea. 97 00:05:27,830 --> 00:05:32,720 Deci, în cazul nostru, în combinația de taste funcție, în cazul în care suntem deja de manipulare 98 00:05:32,720 --> 00:05:39,900 toate aceste chei, suntem, de asemenea, să recunoaște X și Z. Pe care am specifica 99 00:05:39,900 --> 00:05:43,720 că aceste personaje sunt de gând să determina viteza de transfer a 100 00:05:43,720 --> 00:05:46,530 crește și descrește. 101 00:05:46,530 --> 00:05:50,940 >> Astfel observa că am pus o limită cu privire la modul mare și pe modul în care un mic viteza poate 102 00:05:50,940 --> 00:05:55,030 de fapt, du-te, deoarece nu vrem de transfer a fi prea repede. 103 00:05:55,030 --> 00:05:58,180 Și noi, de asemenea, nu vrem navetei viteză pentru a merge la zero, sau, eventual, 104 00:05:58,180 --> 00:06:01,480 chiar negativ, care va avea ca rezultat în unele comportamente ciudate. 105 00:06:01,480 --> 00:06:03,890 Și asta e tot pentru exces de viteză în sus și încetinirea. 106 00:06:03,890 --> 00:06:05,980 >> Acum, haideți să aruncăm o privire la zbor. 107 00:06:05,980 --> 00:06:11,370 Deci, amintiți-vă că funcția de zbor vă solicită să introduceți codul Konami. 108 00:06:11,370 --> 00:06:18,070 Deci, în partea de sus, vom vedea avem unele variabile globale, Codul Konami care este 109 00:06:18,070 --> 00:06:20,975 o matrice care este doar a ține evidența chei care trebuie să fie introduse pentru 110 00:06:20,975 --> 00:06:22,600 Codul Konami. 111 00:06:22,600 --> 00:06:26,340 Există o Bool care indică doar dacă Codul Konami are deja 112 00:06:26,340 --> 00:06:27,660 fost introduse. 113 00:06:27,660 --> 00:06:30,430 Și apoi există indicelui în matrice Codul Konami că 114 00:06:30,430 --> 00:06:31,770 suntem în prezent la. 115 00:06:31,770 --> 00:06:36,020 >> Deci, dacă utilizatorul a introdus deja trei caractere ale codului Konami 116 00:06:36,020 --> 00:06:40,530 apoi indicele este de gând să indice Al patrulea lucru în matrice, 117 00:06:40,530 --> 00:06:42,150 al treilea index. 118 00:06:42,150 --> 00:06:44,630 Folosind că, încă o dată, vom uita-te la atac cerebral cheie. 119 00:06:44,630 --> 00:06:48,040 120 00:06:48,040 --> 00:06:51,910 Și în accident vascular cerebral cheie vedem aici că dacă Codul Konami nu a fost deja 121 00:06:51,910 --> 00:06:58,410 a intrat, atunci vrem sa vedem este cheie, care a fost introdus ceea ce suntem 122 00:06:58,410 --> 00:07:01,250 așteaptă în prezent la matrice Codul Konami. 123 00:07:01,250 --> 00:07:04,350 Dacă acesta este cazul, atunci ne-am incrementa indexul nostru. 124 00:07:04,350 --> 00:07:07,660 >> Dacă utilizatorul tastează Până atunci index este de gând să merg la unul. 125 00:07:07,660 --> 00:07:10,280 Apoi, utilizatorul va tip nou, indicele merge la doi. 126 00:07:10,280 --> 00:07:12,150 Apoi, ei vor de tip jos, se va merge la trei. 127 00:07:12,150 --> 00:07:17,320 În cazul în care tipul Q, se va reseta la zero, deoarece acestea nu se potrivesc 128 00:07:17,320 --> 00:07:20,140 valoarea așteptată. 129 00:07:20,140 --> 00:07:24,810 Acum, în cazul în care reușesc să obțină prin întreaga gamă apoi au intrat pe 130 00:07:24,810 --> 00:07:26,280 Codul Konami. 131 00:07:26,280 --> 00:07:33,960 Caz în care, acum că Konami a intrat este adevărat, vom vedea aici că, dacă 132 00:07:33,960 --> 00:07:40,460 Konami a fost introdusă, vom accepta două noi chei, C și E. Care toate acestea vor face 133 00:07:40,460 --> 00:07:45,800 este stabilit de zbor în jos și de zbor state în sus în navetă. 134 00:07:45,800 --> 00:07:48,530 Deci, exista deja pentru tine. 135 00:07:48,530 --> 00:07:51,190 Trebuie doar să ia profita de ele. 136 00:07:51,190 --> 00:07:52,890 Și asta este pentru zbor. 137 00:07:52,890 --> 00:07:54,680 >> Trecut, ne-am teleporta. 138 00:07:54,680 --> 00:08:00,710 Deci, în interiorul HTML, vom vedea că am adăugat o casetă de intrare și o 139 00:08:00,710 --> 00:08:02,270 buton teleporta. 140 00:08:02,270 --> 00:08:08,300 Cutia are adresa ID-ul, și butonul are un buton de teleportare de identitate. 141 00:08:08,300 --> 00:08:13,970 Acum, un detaliu enervant este faptul că dacă nu facem nimic cu eveniment 142 00:08:13,970 --> 00:08:19,210 Stivuitoare atunci când încercăm să tastați ceva de genul o în caseta de intrare, 143 00:08:19,210 --> 00:08:25,250 în loc de fapt legarea A, Google nostru Pământul se va trece la 144 00:08:25,250 --> 00:08:30,040 a plecat de la A este deja înregistrată să se ocupe deplasează spre stânga. 145 00:08:30,040 --> 00:08:35,100 >> Astfel încât detaliile enervant de aici este că atunci când avem o cheie în jos sau în sus tasta 146 00:08:35,100 --> 00:08:40,789 eveniment în interiorul caseta de intrare, ne-o dorim la event.stop propagare care este 147 00:08:40,789 --> 00:08:43,830 doar să prevină alunecare de naveta. 148 00:08:43,830 --> 00:08:48,510 Odată ce manipulat, noi, de asemenea, să adăugați un handler pentru butonul de teleportare. 149 00:08:48,510 --> 00:08:52,880 Când ne-am faceți clic pe butonul de teleportare, ne-am apuca adresa, care este curentul 150 00:08:52,880 --> 00:08:57,580 valoare în caseta de intrare, și apoi noi numim această funcție de teleportare. 151 00:08:57,580 --> 00:09:00,910 >> Deci, ceea ce face teleporta Funcția arata ca? 152 00:09:00,910 --> 00:09:04,840 Ei bine, primul lucru pe care îl vedem este că suntem folosind geocoder. geocodificată. 153 00:09:04,840 --> 00:09:06,940 Deci, ce este asta? 154 00:09:06,940 --> 00:09:10,330 Ei bine, dacă ne uităm la partea de sus, vom vedea că avem un nou 155 00:09:10,330 --> 00:09:13,860 variabilă globală, geocoder. 156 00:09:13,860 --> 00:09:17,500 Și aceasta este o referință la nivel mondial la un serviciu de geocodare. 157 00:09:17,500 --> 00:09:19,380 Acum, ce are de făcut pentru noi? 158 00:09:19,380 --> 00:09:23,810 Ei bine, în caseta de intrare, am de gând să fie intra ceva de genul 33 Oxford 159 00:09:23,810 --> 00:09:26,040 Street Cambridge, Massachusetts. 160 00:09:26,040 --> 00:09:28,580 Dar nu putem face într-adevăr nimic cu asta. 161 00:09:28,580 --> 00:09:31,760 Ne dorim pentru a converti că la latitudine și longitudine. 162 00:09:31,760 --> 00:09:34,940 Și asta e ceea ce serviciul de geocodare este de gând să facă pentru noi. 163 00:09:34,940 --> 00:09:40,630 În partea de jos a initcb, vom vedea că avem geocoder egal nou 164 00:09:40,630 --> 00:09:45,830 google.maps.geocoder care initializeaza această variabilă pentru noi. 165 00:09:45,830 --> 00:09:47,930 >> Deci, înapoi la teleporta. 166 00:09:47,930 --> 00:09:51,240 Vedem suntem folosind geocoder. 167 00:09:51,240 --> 00:09:54,970 Suntem geocodificarea adresa care a fost transmis funcției Teleport care 168 00:09:54,970 --> 00:09:57,450 a fost luat de la caseta de intrare. 169 00:09:57,450 --> 00:10:02,020 Și vom trece un apel înapoi care are rezultate și de stare. 170 00:10:02,020 --> 00:10:05,905 Deci, primul lucru de care avem nevoie pentru a verifica pe documentul API de google.maps. 171 00:10:05,905 --> 00:10:06,130 GeocodingService. 172 00:10:06,130 --> 00:10:08,330 Hărți 173 00:10:08,330 --> 00:10:11,550 >> Deci, avem de a verifica starea pentru a vedea dacă acesta a revenit. 174 00:10:11,550 --> 00:10:16,820 google.maps.GeocoderStatus.OK care indică faptul că avem un rezultat valid. 175 00:10:16,820 --> 00:10:19,310 Dacă noi nu, atunci avem, nu pot face. 176 00:10:19,310 --> 00:10:20,990 Acest lucru ar putea fi o adresă invalidă. 177 00:10:20,990 --> 00:10:24,630 Sau s-ar putea service API fie în jos sau cine stie? 178 00:10:24,630 --> 00:10:29,980 Presupunând că avem un rezultat de succes, atunci vom apuca locația de la 179 00:10:29,980 --> 00:10:30,790 rezultatul. 180 00:10:30,790 --> 00:10:34,220 Și vom stabili harta Google în colțul din dreapta jos pentru a fi 181 00:10:34,220 --> 00:10:38,870 centrat în acea locație și actualiza autobuz pe harta pentru acea locație. 182 00:10:38,870 --> 00:10:41,620 >> Și acum avem nevoie pentru a actualiza Google Earth conectați-in. 183 00:10:41,620 --> 00:10:45,340 Așa că am actualiza latitudine și longitudine a navetei. 184 00:10:45,340 --> 00:10:50,570 Și, de asemenea, avem nevoie pentru a actualiza shuttle.localAnchorCartesian deoarece dacă 185 00:10:50,570 --> 00:10:55,250 te uiți la shuttle.js, veți vedea că care ține de asemenea evidența latitudine 186 00:10:55,250 --> 00:10:56,310 și longitudine. 187 00:10:56,310 --> 00:10:59,490 Deci, dacă noi nu se actualizează că, ne-am latitudine și longitudine originală 188 00:10:59,490 --> 00:11:01,330 stocate ascuns undeva. 189 00:11:01,330 --> 00:11:06,490 Astfel actualizarea că acum, noi numim shuttle.updateCamera pentru a reîmprospăta 190 00:11:06,490 --> 00:11:09,070 ecran si ne arata noua noastra locatie. 191 00:11:09,070 --> 00:11:10,380 Și asta e tot. 192 00:11:10,380 --> 00:11:11,500 Numele meu este Rob. 193 00:11:11,500 --> 00:11:12,750 Și acest lucru a fost de transfer. 194 00:11:12,750 --> 00:11:18,080