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 Ik ben Rob. 4 00:00:13,780 --> 00:00:19,500 En ik hoop dat je klaar bent om te halen wat bent Ik zet uit of neer te zetten, 5 00:00:19,500 --> 00:00:22,230 of laten we beginnen. 6 00:00:22,230 --> 00:00:25,040 Dus eerste wat we moeten te doen is af te halen. 7 00:00:25,040 --> 00:00:29,370 Nu, pick-up gaat worden het verwijderen van de pictogrammen passagiers uit de Google 8 00:00:29,370 --> 00:00:32,759 kaart in de rechter benedenhoek en uit Google Earth in het centrum van 9 00:00:32,759 --> 00:00:33,970 het scherm. 10 00:00:33,970 --> 00:00:37,180 Dus om die te verwijderen pictogrammen, moeten we de 11 00:00:37,180 --> 00:00:39,040 verwijzingen naar hen ergens. 12 00:00:39,040 --> 00:00:43,680 Maar op dit moment, de Populate functie alleen krijgt ontdoen van hen. 13 00:00:43,680 --> 00:00:48,140 Dus we zullen moeten wijzigen bevolken om ze te houden. 14 00:00:48,140 --> 00:00:53,440 >> Nu eerste wat we zien is dat we hebben een wereldwijd passagiers array. 15 00:00:53,440 --> 00:00:57,710 En dus gaan we gebruiken dat de wereldwijde's passagiers array in te vullen. 16 00:00:57,710 --> 00:01:03,230 In Populate, zien we dat we een lus over al onze passagiers. 17 00:01:03,230 --> 00:01:10,420 En het is deze lus dat is het creëren van de plaats keurmerk voor Google Earth en de 18 00:01:10,420 --> 00:01:12,540 marker voor de Google Map. 19 00:01:12,540 --> 00:01:16,420 En dus nu onze modificatie te bevolken is om hier te zijn. 20 00:01:16,420 --> 00:01:21,760 Dus we zijn toe te voegen aan onze passagiers ' matrix dit object dat is het houden van 21 00:01:21,760 --> 00:01:26,480 rond de marker en de plaats mark we gewoon gemaakt samen met het huis en 22 00:01:26,480 --> 00:01:28,460 de naam van de passagier. 23 00:01:28,460 --> 00:01:30,560 >> Dus dat is het voor Populate. 24 00:01:30,560 --> 00:01:33,210 Nu moeten we kijken naar Pick Up. 25 00:01:33,210 --> 00:01:38,540 Dus in te halen, zijn we opnieuw gaan itereren over al onze passagiers. 26 00:01:38,540 --> 00:01:41,340 Maar nu is het onze wereldwijde passagiers array. 27 00:01:41,340 --> 00:01:46,150 En hier zien we dat goed hebben we al opgepikt dit passagier? 28 00:01:46,150 --> 00:01:50,030 Want als we dit hebben opgepikt passagier, zien we op het einde dat 29 00:01:50,030 --> 00:01:55,240 we gaan naar de markering in te stellen en de plaats merk null omdat ze geen 30 00:01:55,240 --> 00:01:56,930 langer in de Google map. 31 00:01:56,930 --> 00:02:00,920 >> Dus als we al hebben opgepikt dit passagier dan zijn we gewoon gaan 32 00:02:00,920 --> 00:02:02,920 doorgaan naar de volgende passagier. 33 00:02:02,920 --> 00:02:07,380 Else, controleren we of deze huis passagier is de binnenkant van de 34 00:02:07,380 --> 00:02:08,590 array-huis. 35 00:02:08,590 --> 00:02:11,900 Dit is de controle die we nodig hebben om ervoor te zorgen dat we niet halen van de eerstejaars als 36 00:02:11,900 --> 00:02:13,180 de spec zegt. 37 00:02:13,180 --> 00:02:15,920 Dus als de passagier is een eerstejaars, we gaan 38 00:02:15,920 --> 00:02:18,190 doorgaan naar de volgende passagier. 39 00:02:18,190 --> 00:02:21,720 >> Zodra we hebben geverifieerd dat dit een passagier we moeten oppakken, 40 00:02:21,720 --> 00:02:25,340 we gaan nu controleren de breedtegraad en lengtegraad van de passagier en zien 41 00:02:25,340 --> 00:02:27,760 als dat binnen 15 meter van de shuttle. 42 00:02:27,760 --> 00:02:31,720 Als dat het geval is, we eigenlijk willen te halen deze passagier. 43 00:02:31,720 --> 00:02:35,890 Zo integreren we over alle van de zetels in onze shuttle op zoek om te zien of 44 00:02:35,890 --> 00:02:38,110 er is een beschikbare plek voor de passagier. 45 00:02:38,110 --> 00:02:41,540 Als een van de stoelen is null, dat is een beschikbare plek. 46 00:02:41,540 --> 00:02:45,140 Dus we voegen de passagier aan de zitting. 47 00:02:45,140 --> 00:02:48,760 We herinneren ons dat we pakte de passagier zodat op het einde, we kunnen 48 00:02:48,760 --> 00:02:52,450 aankondigen als we daadwerkelijk heeft niemand op te halen. 49 00:02:52,450 --> 00:02:56,140 We herinneren ons dat we dit zitten passagier want als we erin om 50 00:02:56,140 --> 00:02:59,320 door de hele shuttle zonder zitplaatsen de passagier, dan moeten we 51 00:02:59,320 --> 00:03:00,885 aankondigen dat we uit zetels. 52 00:03:00,885 --> 00:03:03,760 53 00:03:03,760 --> 00:03:06,885 >> Dan is hun plaats te verwijderen we markeren van Google Earth. 54 00:03:06,885 --> 00:03:11,310 We verwijderen de marker van Google Maps, set binnen van onze passagiers ' 55 00:03:11,310 --> 00:03:14,830 matrix plaats merk en marker null zoals we eerder gezegd. 56 00:03:14,830 --> 00:03:16,035 En dan is dat het. 57 00:03:16,035 --> 00:03:17,050 De passagier heeft gezeten. 58 00:03:17,050 --> 00:03:19,570 Zodra we dat gedaan hebt voor alle passagiers binnen 15 meter van de 59 00:03:19,570 --> 00:03:23,250 shuttle, we moeten rechart. 60 00:03:23,250 --> 00:03:30,270 >> Dus Grafiek is wat er gaat weer de passagiers in de stoelen hier. 61 00:03:30,270 --> 00:03:32,760 Dus nu, laten we eens kijken naar Chart. 62 00:03:32,760 --> 00:03:37,960 Binnenkant van Chart, we gaan zijn bouw van de HTML voor de grafiek. 63 00:03:37,960 --> 00:03:41,160 Dus de grafiek gaat zijn een geordende lijst. 64 00:03:41,160 --> 00:03:44,300 Dan zullen we itereren over alle de stoelen in onze shuttle. 65 00:03:44,300 --> 00:03:48,450 Dus als deze bijzondere stoel is null, dat betekent dat we een lijst met items die 66 00:03:48,450 --> 00:03:50,800 geeft aan dat het een lege eenvoudig. 67 00:03:50,800 --> 00:03:55,650 Anders, als het niet null is, dan willen we een post List dat gaat geven 68 00:03:55,650 --> 00:03:58,660 de naam van de passagier en het huis van de reiziger 69 00:03:58,660 --> 00:04:00,420 dat is in deze stoel. 70 00:04:00,420 --> 00:04:04,620 >> Zodra we hebben herhaald over alle zetels sluit vervolgens we onze geordende lijst 71 00:04:04,620 --> 00:04:09,410 en het gebruik van jQuery om de grafiek div selecteren en vervang het is HTML met onze nieuwe 72 00:04:09,410 --> 00:04:10,550 geordende lijst. 73 00:04:10,550 --> 00:04:12,090 En dat is het voor Grafiek. 74 00:04:12,090 --> 00:04:15,170 >> Dus laatste is afzetten. 75 00:04:15,170 --> 00:04:20,860 Nu drop off gaat worden redelijk vergelijkbaar te halen. 76 00:04:20,860 --> 00:04:24,150 In plaats van een lus over alle passagiers, gaan we lus over 77 00:04:24,150 --> 00:04:25,780 alle van de shuttle zetels. 78 00:04:25,780 --> 00:04:29,720 Dus looping over de shuttle zetels, we zien is deze bijzondere shuttle zetel 79 00:04:29,720 --> 00:04:32,850 niet null, in welk geval er een passagier in deze stoel. 80 00:04:32,850 --> 00:04:35,380 Als dat het geval is, willen we te grijpen de lengte-en 81 00:04:35,380 --> 00:04:37,030 lengtegraad van deze passagier. 82 00:04:37,030 --> 00:04:42,110 >> Dus met behulp van matrix van het huis, we zijn gaan naar het huis van het grijpen 83 00:04:42,110 --> 00:04:46,990 passagier in deze stoel en grijp dan de breedtegraad van dat specifieke huis 84 00:04:46,990 --> 00:04:49,070 en zo ook voor de lengtegraad. 85 00:04:49,070 --> 00:04:54,270 Nu, we opnieuw gebruiken afstand te zien in dat huis ligt binnen 30 meter van ons. 86 00:04:54,270 --> 00:04:58,320 Als dat het geval is, ze willen instellen deze stoel op null, omdat de passagier 87 00:04:58,320 --> 00:05:01,760 werd afgezet, en increment dat een passagier werd afgezet. 88 00:05:01,760 --> 00:05:05,910 Zodat uiteindelijk, als niemand afgezet, we aankondigen dat niemand 89 00:05:05,910 --> 00:05:07,600 hier wil worden afgezet. 90 00:05:07,600 --> 00:05:12,510 >> Tot slot moeten we zodat rechart we weer nieuwe, lege stoelen. 91 00:05:12,510 --> 00:05:15,770 Nu, je hoeft alleen maar uit te voeren aantal extra features. 92 00:05:15,770 --> 00:05:17,680 Nu, er is u genoeg kon hebben gekozen. 93 00:05:17,680 --> 00:05:21,630 Maar in ons geval hebben we geïmplementeerd teleport, vliegen, en versnellen, en 94 00:05:21,630 --> 00:05:22,770 snelheidsovertredingen op. 95 00:05:22,770 --> 00:05:25,100 Dus laten we eens kijken naar die. 96 00:05:25,100 --> 00:05:27,830 Laten we eerst eens een kijkje nemen op het versnellen functie. 97 00:05:27,830 --> 00:05:32,720 Dus in ons geval, in de toetsaanslag functie, waar we al zijn handling 98 00:05:32,720 --> 00:05:39,900 al deze toetsen, we ook naar herkennen X en Z. Die we specificeren 99 00:05:39,900 --> 00:05:43,720 dat deze tekens gaan veroorzaken van de shuttle snelheid aan 100 00:05:43,720 --> 00:05:46,530 verhogen en verlagen. 101 00:05:46,530 --> 00:05:50,940 >> Dus merken dat we een gebonden over hoe hoog en over hoe een lage snelheid kan de 102 00:05:50,940 --> 00:05:55,030 daadwerkelijk te gaan omdat we niet willen de shuttle te snel zijn. 103 00:05:55,030 --> 00:05:58,180 En we willen ook niet van de shuttle snelheid naar nul of eventueel 104 00:05:58,180 --> 00:06:01,480 zelfs negatief wat resulteert in sommige vreemde gedrag. 105 00:06:01,480 --> 00:06:03,890 En dat is het voor te hard rijden op en vertragen. 106 00:06:03,890 --> 00:06:05,980 >> Nu, laten we eens een kijkje nemen op vliegen. 107 00:06:05,980 --> 00:06:11,370 Dus denk dat de vliegende functie vereist dat u de Konami Code in te voeren. 108 00:06:11,370 --> 00:06:18,070 Dus op naar de top, zien we dat we een aantal globale variabelen, Konami Code die 109 00:06:18,070 --> 00:06:20,975 een array die net is het bijhouden van de toetsen die moeten worden ingevoerd voor 110 00:06:20,975 --> 00:06:22,600 de Code van Konami. 111 00:06:22,600 --> 00:06:26,340 Er is een Bool die geeft alleen maar aan of de Konami Code heeft al 112 00:06:26,340 --> 00:06:27,660 zijn ingevoerd. 113 00:06:27,660 --> 00:06:30,430 En dan is er de index in de Konami Code array die 114 00:06:30,430 --> 00:06:31,770 We zijn momenteel op. 115 00:06:31,770 --> 00:06:36,020 >> Als de gebruiker al drie is getreden karakters van de Konami Code 116 00:06:36,020 --> 00:06:40,530 dan de index zal wijzen de vierde zaak in de array, de 117 00:06:40,530 --> 00:06:42,150 derde index. 118 00:06:42,150 --> 00:06:44,630 Met behulp van dat, zult opnieuw we kijk naar toetsaanslag. 119 00:06:44,630 --> 00:06:48,040 120 00:06:48,040 --> 00:06:51,910 En in toetsaanslag zien we hier dat als de Konami Code nog niet geweest 121 00:06:51,910 --> 00:06:58,410 ingevoerd, dan willen we zien is de sleutel die is ingevoerd wat we 122 00:06:58,410 --> 00:07:01,250 momenteel verwacht van de Konami Code array. 123 00:07:01,250 --> 00:07:04,350 Als dat het geval is, dan We verhogen onze index. 124 00:07:04,350 --> 00:07:07,660 >> Als de gebruiker typen Up vervolgens index gaat naar een. 125 00:07:07,660 --> 00:07:10,280 Dan zal de gebruiker opnieuw uittypen, de index gaat naar twee. 126 00:07:10,280 --> 00:07:12,150 Dan zullen ze typt beneden, het zal gaan om drie. 127 00:07:12,150 --> 00:07:17,320 Als ze type Q, zal het opnieuw op nul omdat ze niet overeenkomen 128 00:07:17,320 --> 00:07:20,140 de verwachte waarde. 129 00:07:20,140 --> 00:07:24,810 Nu, als ze erin te krijgen door de hele array dan hebben ze de 130 00:07:24,810 --> 00:07:26,280 Code van Konami. 131 00:07:26,280 --> 00:07:33,960 In welk geval, nu dat Konami ingevoerd waar is, hier zien we dat, wanneer 132 00:07:33,960 --> 00:07:40,460 Konami is ingevoerd, accepteren we twee nieuwe toetsen, C en E. Welke al die zal doen 133 00:07:40,460 --> 00:07:45,800 ligt het vliegen naar beneden en vliegen opwaartse staten in de shuttle. 134 00:07:45,800 --> 00:07:48,530 Dus al bestaan ​​voor je. 135 00:07:48,530 --> 00:07:51,190 Je hoeft alleen maar te nemen voordeel mee. 136 00:07:51,190 --> 00:07:52,890 En dat is het voor het vliegen. 137 00:07:52,890 --> 00:07:54,680 >> Laatst hebben we teleporteren. 138 00:07:54,680 --> 00:08:00,710 Dus binnenkant van de HTML, zien we dat we hebben een invoerveld en een toegevoegde 139 00:08:00,710 --> 00:08:02,270 teleport knop. 140 00:08:02,270 --> 00:08:08,300 De doos heeft ID-adres, en de knop heeft een ID teleport knop. 141 00:08:08,300 --> 00:08:13,970 Nu is een vervelende kleine detail is dat Als we niets doen met evenement 142 00:08:13,970 --> 00:08:19,210 handlers dan wanneer we proberen te typen Iets als een in het invoerveld, 143 00:08:19,210 --> 00:08:25,250 in plaats van het daadwerkelijk binden A, onze Google Aarde gaat verhuizen naar het 144 00:08:25,250 --> 00:08:30,040 gelaten aangezien een reeds geregistreerd te hanteren naar links te bewegen. 145 00:08:30,040 --> 00:08:35,100 >> Dus de vervelende detail hierbij is dat wanneer we een sleutel omlaag of omhoog 146 00:08:35,100 --> 00:08:40,789 evenement binnenkant van de doos input, we willen propagatie event.stop die 147 00:08:40,789 --> 00:08:43,830 alleen maar om te voorkomen dat de schuiven van de shuttle. 148 00:08:43,830 --> 00:08:48,510 Zodra dat is behandeld, willen we ook toe te voegen een handler aan de teleport knop. 149 00:08:48,510 --> 00:08:52,880 Toen we op de teleport knop, we pak het adres, dat is de huidige 150 00:08:52,880 --> 00:08:57,580 waarde in het invoerveld, en vervolgens we deze teleport functie aan te roepen. 151 00:08:57,580 --> 00:09:00,910 >> Dus wat doet de teleport functie eruit? 152 00:09:00,910 --> 00:09:04,840 Nou, het eerste wat we zien is dat we gebruik geocoder. geocode. 153 00:09:04,840 --> 00:09:06,940 Dus wat is dat? 154 00:09:06,940 --> 00:09:10,330 Nou, als we kijken naar de top, we zien dat we een nieuwe 155 00:09:10,330 --> 00:09:13,860 globale variabele, geocoder. 156 00:09:13,860 --> 00:09:17,500 En dit is een wereldwijde referentie een geocoding service. 157 00:09:17,500 --> 00:09:19,380 Wat betekent dat voor ons? 158 00:09:19,380 --> 00:09:23,810 Nou, in het invoerveld, ga ik wel het invoeren van iets als 33 Oxford 159 00:09:23,810 --> 00:09:26,040 Street Cambridge, Massachusetts. 160 00:09:26,040 --> 00:09:28,580 Maar we kunnen niet echt iets mee. 161 00:09:28,580 --> 00:09:31,760 We willen zetten dat om lengte-en breedtegraad. 162 00:09:31,760 --> 00:09:34,940 En dat is wat de dienst geografische codering gaat doen voor ons. 163 00:09:34,940 --> 00:09:40,630 Aan de onderkant van initcb, zien we dat we hebben geocoder gelijk nieuwe 164 00:09:40,630 --> 00:09:45,830 google.maps.geocoder die initialiseert deze variabele voor ons. 165 00:09:45,830 --> 00:09:47,930 >> Dus terug te teleporteren. 166 00:09:47,930 --> 00:09:51,240 We zien dat we met behulp van de geocoder. 167 00:09:51,240 --> 00:09:54,970 We geocoding het adres dat was doorgegeven aan de functie die teleport 168 00:09:54,970 --> 00:09:57,450 werd gegrepen van het invoerveld. 169 00:09:57,450 --> 00:10:02,020 En we passeren het telefoontje terug die de resultaten en status neemt. 170 00:10:02,020 --> 00:10:05,905 Dus eerste wat we moeten om te controleren per de API document van google.maps. 171 00:10:05,905 --> 00:10:06,130 GeocodingService. 172 00:10:06,130 --> 00:10:08,330 Kaarten 173 00:10:08,330 --> 00:10:11,550 >> Dus moeten we de status te controleren om te zien of het weer terug. 174 00:10:11,550 --> 00:10:16,820 google.maps.GeocoderStatus.OK die geeft aan dat we een geldig resultaat. 175 00:10:16,820 --> 00:10:19,310 Als we dat niet, dan krijgen we, nee kan doen. 176 00:10:19,310 --> 00:10:20,990 Dit kan een ongeldig adres zijn. 177 00:10:20,990 --> 00:10:24,630 Of de API-macht zijn beneden of wie weet? 178 00:10:24,630 --> 00:10:29,980 Ervan uitgaande dat we een succesvol resultaat dan we gaan naar de locatie te pakken van 179 00:10:29,980 --> 00:10:30,790 het resultaat. 180 00:10:30,790 --> 00:10:34,220 En we gaan naar de Google Map te stellen in de rechter benedenhoek te zijn 181 00:10:34,220 --> 00:10:38,870 gecentreerd op die locatie en het actualiseren van de bus op de kaart naar die locatie. 182 00:10:38,870 --> 00:10:41,620 >> En nu moeten we het actualiseren van de Google Earth plug-in. 183 00:10:41,620 --> 00:10:45,340 Dus werken we de lengte-en lengtegraad van de shuttle. 184 00:10:45,340 --> 00:10:50,570 En we moeten ook werken shuttle.localAnchorCartesian want als 185 00:10:50,570 --> 00:10:55,250 je kijkt naar shuttle.js, zult u zien dat die ook houdt breedtegraad 186 00:10:55,250 --> 00:10:56,310 en lengtegraad. 187 00:10:56,310 --> 00:10:59,490 Dus als we niet bijwerken dat, hebben we de oorspronkelijke lengte-en breedtegraad 188 00:10:59,490 --> 00:11:01,330 opgeslagen ergens verborgen. 189 00:11:01,330 --> 00:11:06,490 Dus updaten die nu, noemen we shuttle.updateCamera om Vernieuw de 190 00:11:06,490 --> 00:11:09,070 screenen en toon ons onze nieuwe locatie. 191 00:11:09,070 --> 00:11:10,380 En dat is het. 192 00:11:10,380 --> 00:11:11,500 Mijn naam is Rob. 193 00:11:11,500 --> 00:11:12,750 En dit was naar het vliegveld. 194 00:11:12,750 --> 00:11:18,080