1 00:00:00,000 --> 00:00:11,712 2 00:00:11,712 --> 00:00:12,850 >> ROB BOWDEN: Hej. 3 00:00:12,850 --> 00:00:13,780 Jeg er Rob. 4 00:00:13,780 --> 00:00:19,500 Og jeg håber, du er klar til at samle op, hvad Jeg springer fra eller sætte ned, 5 00:00:19,500 --> 00:00:22,230 eller lad os komme i gang. 6 00:00:22,230 --> 00:00:25,040 Så første ting, vi har brug for at gøre er at hente. 7 00:00:25,040 --> 00:00:29,370 Nu afhente vil være at fjerne passagerernes ikoner fra Google 8 00:00:29,370 --> 00:00:32,759 kort i nederste højre hjørne og fra Google Earth i midten af 9 00:00:32,759 --> 00:00:33,970 skærmen. 10 00:00:33,970 --> 00:00:37,180 Så for at fjerne dem, ikoner, er vi nødt til at have 11 00:00:37,180 --> 00:00:39,040 henvisninger til dem et sted. 12 00:00:39,040 --> 00:00:43,680 Men i dag, den befolke funktionen bare får slippe af med dem. 13 00:00:43,680 --> 00:00:48,140 Så vi er nødt til at ændre befolke at holde dem rundt. 14 00:00:48,140 --> 00:00:53,440 >> Nu første ting, vi vil se, er, at vi har en global passagerer array. 15 00:00:53,440 --> 00:00:57,710 Og så vi kommer til at bruge den globale s passagerer array i befolke. 16 00:00:57,710 --> 00:01:03,230 I befolke, ser vi, at vi looping i alle passagererne. 17 00:01:03,230 --> 00:01:10,420 Og det er denne løkke, der er at skabe placerer mærke for Google Earth og 18 00:01:10,420 --> 00:01:12,540 markør for Google Map. 19 00:01:12,540 --> 00:01:16,420 Og så nu er vores modifikation at befolke er at være her. 20 00:01:16,420 --> 00:01:21,760 Så vi tilføje til vores passagerer " matrix dette objekt, der holder 21 00:01:21,760 --> 00:01:26,480 omkring markør og stedmarkør vi bare skabt sammen med huset og 22 00:01:26,480 --> 00:01:28,460 navnet på passageren. 23 00:01:28,460 --> 00:01:30,560 >> Så det er det for at udfylde. 24 00:01:30,560 --> 00:01:33,210 Nu er vi nødt til at se på Pick Up. 25 00:01:33,210 --> 00:01:38,540 Så i Pick Up, vi igen kommer til at gentage over alle vores passagerer. 26 00:01:38,540 --> 00:01:41,340 Men nu er det vores globale passagerer array. 27 00:01:41,340 --> 00:01:46,150 Og her vi ser så godt, har vi allerede hentet denne passager? 28 00:01:46,150 --> 00:01:50,030 Da hvis vi har plukket op dette passager, vi ser i den ende, 29 00:01:50,030 --> 00:01:55,240 vi kommer til at sætte markøren og stedmarkør NULL, da de er ikke 30 00:01:55,240 --> 00:01:56,930 længere i Google map. 31 00:01:56,930 --> 00:02:00,920 >> Så hvis vi allerede har hentet dette passager så vi bare kommer til at 32 00:02:00,920 --> 00:02:02,920 fortsætte til den næste passager. 33 00:02:02,920 --> 00:02:07,380 Else, tjekker vi for at se, om dette passager hus er inde i 34 00:02:07,380 --> 00:02:08,590 husets array. 35 00:02:08,590 --> 00:02:11,900 Det er den kontrol, vi nødt til at sørge at vi ikke afhente freshman som 36 00:02:11,900 --> 00:02:13,180 spec siger. 37 00:02:13,180 --> 00:02:15,920 Så hvis passageren er en freshman, vi kommer til at 38 00:02:15,920 --> 00:02:18,190 fortsætte til den næste passager. 39 00:02:18,190 --> 00:02:21,720 >> Når vi har bekræftet, at dette er en passager, vi skal picking up, 40 00:02:21,720 --> 00:02:25,340 vi nu kommer til at kontrollere breddegrad og længdegrad passageren og se 41 00:02:25,340 --> 00:02:27,760 hvis det er inden for 15 meter af skytten. 42 00:02:27,760 --> 00:02:31,720 Hvis det er tilfældet, vi faktisk ønsker at afhente denne passager. 43 00:02:31,720 --> 00:02:35,890 Så vi integrerer over alle af sæderne i vores shuttle søger at se, om 44 00:02:35,890 --> 00:02:38,110 Der er en tilgængelig plet for passageren. 45 00:02:38,110 --> 00:02:41,540 Hvis en af ​​pladserne er nul, der er en tilgængelig stedet. 46 00:02:41,540 --> 00:02:45,140 Så vi tilføjer passageren på sædet. 47 00:02:45,140 --> 00:02:48,760 Vi husker, at vi plukket op passager, så i sidste ende, kan vi 48 00:02:48,760 --> 00:02:52,450 annoncere, hvis vi rent faktisk ikke samle nogen op. 49 00:02:52,450 --> 00:02:56,140 Vi husker, at vi siddende dette passager siden hvis vi formår at få 50 00:02:56,140 --> 00:02:59,320 gennem hele shuttle uden siddepladser passageren, så er vi nødt til at 51 00:02:59,320 --> 00:03:00,885 meddele, at vi er ude af sæder. 52 00:03:00,885 --> 00:03:03,760 53 00:03:03,760 --> 00:03:06,885 >> Så kan vi fjerne deres plads Mark fra Google Earth. 54 00:03:06,885 --> 00:03:11,310 Vi fjerner deres markør fra Google Maps, sæt indersiden af ​​vores passagerer " 55 00:03:11,310 --> 00:03:14,830 vifte stedmarkør og markør til nul, som vi sagde før. 56 00:03:14,830 --> 00:03:16,035 Og så er det. 57 00:03:16,035 --> 00:03:17,050 Passageren er blevet siddende. 58 00:03:17,050 --> 00:03:19,570 Når vi har gjort det for alle passagerer inden for 15 meter fra 59 00:03:19,570 --> 00:03:23,250 shuttle, er vi nødt til at rechart. 60 00:03:23,250 --> 00:03:30,270 >> Så Chart er, hvad der kommer til at vise den passagerer i sæderne herovre. 61 00:03:30,270 --> 00:03:32,760 Så nu, lad os se på Chart. 62 00:03:32,760 --> 00:03:37,960 Inde i figur, vi kommer til at være konstruere HTML til diagrammet. 63 00:03:37,960 --> 00:03:41,160 Så diagrammet vil være en ordnet liste. 64 00:03:41,160 --> 00:03:44,300 Så vil vi gentage over alle sæderne i vores shuttle. 65 00:03:44,300 --> 00:03:48,450 Så hvis dette særlige sæde er null, at betyder, at vi vil have en liste element, 66 00:03:48,450 --> 00:03:50,800 angiver, at det er en tom nemt. 67 00:03:50,800 --> 00:03:55,650 Else, hvis det ikke var null, så vi vil et element på listen, der vil vise 68 00:03:55,650 --> 00:03:58,660 navnet på passageren og hus passageren 69 00:03:58,660 --> 00:04:00,420 der er i dette sæde. 70 00:04:00,420 --> 00:04:04,620 >> Når vi har gentages i alle de sæder derefter lukker vi vores ordnet liste 71 00:04:04,620 --> 00:04:09,410 og bruge jQuery til at vælge diagrammet div og erstatte det er HTML med vores nye 72 00:04:09,410 --> 00:04:10,550 ordnet liste. 73 00:04:10,550 --> 00:04:12,090 Og det er det for Chart. 74 00:04:12,090 --> 00:04:15,170 >> Så sidste ting er slippe væk fra. 75 00:04:15,170 --> 00:04:20,860 Nu frafald vil være temmelig ligner at samle op. 76 00:04:20,860 --> 00:04:24,150 I stedet for looping over alle af passagerer, vi kommer til løkken over 77 00:04:24,150 --> 00:04:25,780 alle de shuttle sæder. 78 00:04:25,780 --> 00:04:29,720 Så looping over shuttle pladser, vi se, er denne særlige shuttle sæde 79 00:04:29,720 --> 00:04:32,850 ikke null, i hvilket tilfælde der er en passager i sædet. 80 00:04:32,850 --> 00:04:35,380 Hvis det er tilfældet, vil vi at få fat i bredde-og 81 00:04:35,380 --> 00:04:37,030 længdegrad denne passager. 82 00:04:37,030 --> 00:04:42,110 >> Så ved hjælp husets array, er vi kommer til at få fat i hus 83 00:04:42,110 --> 00:04:46,990 passager i dette sæde, og derefter få fat i breddegrad af denne særlige hus 84 00:04:46,990 --> 00:04:49,070 og tilsvarende for længdegrad. 85 00:04:49,070 --> 00:04:54,270 Nu er vi igen bruge afstand for at se i det hus er inden for 30 meter af os. 86 00:04:54,270 --> 00:04:58,320 Hvis det er tilfældet, at de ønsker at sætte denne plads til null, da passageren 87 00:04:58,320 --> 00:05:01,760 blev droppet, og tilvækst som en passager blev droppet. 88 00:05:01,760 --> 00:05:05,910 Så i sidste ende, hvis der ikke var nogen droppet, vi meddele, at ingen 89 00:05:05,910 --> 00:05:07,600 ønsker at være faldet ud her. 90 00:05:07,600 --> 00:05:12,510 >> Endelig er vi nødt til at rechart så vi viser nye, tomme pladser. 91 00:05:12,510 --> 00:05:15,770 Nu skal du bare nødt til at gennemføre nogle ekstra funktioner. 92 00:05:15,770 --> 00:05:17,680 Nu er der masser du kan har valgt fra. 93 00:05:17,680 --> 00:05:21,630 Men i vores tilfælde har vi implementeret teleport flyvende, og fremskynde, og 94 00:05:21,630 --> 00:05:22,770 hurtigere ned. 95 00:05:22,770 --> 00:05:25,100 Så lad os se på dem. 96 00:05:25,100 --> 00:05:27,830 Først, lad os tage et kig på fremskyndelse funktion. 97 00:05:27,830 --> 00:05:32,720 Så i vores tilfælde, i tastetryk funktion, hvor vi allerede er håndtering 98 00:05:32,720 --> 00:05:39,900 alle disse taster, vi også kommer til at genkende X og Z. Hvilket vi angiver 99 00:05:39,900 --> 00:05:43,720 at disse tegn vil forårsage rumfærgens hastighed til 100 00:05:43,720 --> 00:05:46,530 øge og mindske. 101 00:05:46,530 --> 00:05:50,940 >> Så bemærke, at vi sætter en grænse for, hvordan høj og på, hvordan en lav hastighed kan 102 00:05:50,940 --> 00:05:55,030 faktisk gå da vi ikke ønsker rumfærgen for at være for hurtigt. 103 00:05:55,030 --> 00:05:58,180 Og vi ønsker heller ikke rumfærgens hastighed for at gå til nul eller eventuelt 104 00:05:58,180 --> 00:06:01,480 endog negativ hvilket vil resultere i nogle mærkelige opførsel. 105 00:06:01,480 --> 00:06:03,890 Og det er det for hastighedsovertrædelser op og bremse. 106 00:06:03,890 --> 00:06:05,980 >> Nu, lad os tage et kig på flyvende. 107 00:06:05,980 --> 00:06:11,370 Så husk, at den flyvende funktionen kræver, at du indtaster Konami Code. 108 00:06:11,370 --> 00:06:18,070 Så op på toppen, ser vi at vi har nogle globale variabler, Konami Code, som er 109 00:06:18,070 --> 00:06:20,975 en matrix, der er bare at holde styr på nøgler, der skal indtastes for 110 00:06:20,975 --> 00:06:22,600 Konami Code. 111 00:06:22,600 --> 00:06:26,340 Der er en Bool som netop indikerer om Konami kode har allerede 112 00:06:26,340 --> 00:06:27,660 blevet indtastet. 113 00:06:27,660 --> 00:06:30,430 Og så er der indekset i Konami Code array, 114 00:06:30,430 --> 00:06:31,770 vi er i øjeblikket på. 115 00:06:31,770 --> 00:06:36,020 >> Så hvis brugeren allerede har indgået tre tegn af Konami Code 116 00:06:36,020 --> 00:06:40,530 derefter indekset kommer til at pege på fjerde ting i array, den 117 00:06:40,530 --> 00:06:42,150 tredje indeks. 118 00:06:42,150 --> 00:06:44,630 Ved hjælp af det, vi endnu en gang vil se tasteanslag. 119 00:06:44,630 --> 00:06:48,040 120 00:06:48,040 --> 00:06:51,910 Og i tastetryk vi ser her, at hvis Konami Code er ikke tidligere 121 00:06:51,910 --> 00:06:58,410 indtastet, så vi ønsker at se, er det nøgle, der blev indtastet, hvad vi 122 00:06:58,410 --> 00:07:01,250 øjeblikket forventer fra Konami Code array. 123 00:07:01,250 --> 00:07:04,350 Hvis det er tilfældet, så vi forøge vores indeks. 124 00:07:04,350 --> 00:07:07,660 >> Hvis brugeren op, så indeks kommer til at gå til en. 125 00:07:07,660 --> 00:07:10,280 Derefter vil brugeren skrive op igen, indekset går til to. 126 00:07:10,280 --> 00:07:12,150 Så vil de skrive ned, det vil gå til tre. 127 00:07:12,150 --> 00:07:17,320 Hvis de skriver Q, vil det nulstille til nul, da de ikke passer 128 00:07:17,320 --> 00:07:20,140 den forventede værdi. 129 00:07:20,140 --> 00:07:24,810 Nu, hvis de formår at komme igennem hele systemet, så de har indtastet 130 00:07:24,810 --> 00:07:26,280 Konami Code. 131 00:07:26,280 --> 00:07:33,960 I så fald, nu da Konami indtastet er sandt, ser vi ned her, at hvis 132 00:07:33,960 --> 00:07:40,460 Konami blev indtastet, accepterer vi to nye nøgler, C og E. Hvilket alle dem vil gøre 133 00:07:40,460 --> 00:07:45,800 er indstillet flyvende nedad og flyvende opadgående stater i rumfærgen. 134 00:07:45,800 --> 00:07:48,530 Så allerede eksisterer for dig. 135 00:07:48,530 --> 00:07:51,190 Du skal bare nødt til at tage fordel af dem. 136 00:07:51,190 --> 00:07:52,890 Og det er det for at flyve. 137 00:07:52,890 --> 00:07:54,680 >> Sidste har vi teleportere. 138 00:07:54,680 --> 00:08:00,710 Så inde i HTML, ser vi, at vi har tilføjet en input box og en 139 00:08:00,710 --> 00:08:02,270 teleportere knappen. 140 00:08:02,270 --> 00:08:08,300 Boksen har ID-adresse, og knappen har et ID teleport knappen. 141 00:08:08,300 --> 00:08:13,970 Nu er en irriterende lille detalje er, at hvis vi ikke gør noget med begivenhed 142 00:08:13,970 --> 00:08:19,210 handlere så når vi forsøger at skrive noget som en ind i indtastningsfeltet, 143 00:08:19,210 --> 00:08:25,250 i stedet for rent faktisk at binde A, vores Google Jorden kommer til at flytte til 144 00:08:25,250 --> 00:08:30,040 venstre siden A allerede er registreret at håndtere flytte til venstre. 145 00:08:30,040 --> 00:08:35,100 >> Så irriterende detaljer her, er, at når vi har en nøgle ned eller nøgle op 146 00:08:35,100 --> 00:08:40,789 begivenhed inde i input boksen, vi ønsker at event.stop formering, som er 147 00:08:40,789 --> 00:08:43,830 bare for at forhindre forskydning af skytten. 148 00:08:43,830 --> 00:08:48,510 Når det er håndteret, ønsker vi også at tilføje en handler til teleport knappen. 149 00:08:48,510 --> 00:08:52,880 Når vi klikker på teleport knappen, vi få adressen, som er det nuværende 150 00:08:52,880 --> 00:08:57,580 værdi i input boksen, og derefter Vi kalder denne teleport funktion. 151 00:08:57,580 --> 00:09:00,910 >> Så hvad gør teleport funktion se ud? 152 00:09:00,910 --> 00:09:04,840 Nå, første ting, vi ser, er vi hjælp geocoder. geokodning. 153 00:09:04,840 --> 00:09:06,940 Så hvad er det? 154 00:09:06,940 --> 00:09:10,330 Tja, hvis vi ser på toppen, vi se, at vi har en ny 155 00:09:10,330 --> 00:09:13,860 global variabel, geocoder. 156 00:09:13,860 --> 00:09:17,500 Og dette er en global henvisning en geokodningstjeneste. 157 00:09:17,500 --> 00:09:19,380 Nu hvad betyder det gøre for os? 158 00:09:19,380 --> 00:09:23,810 Tja, i input boksen, jeg kommer til at være indtastning noget som 33 Oxford 159 00:09:23,810 --> 00:09:26,040 Street Cambridge, Massachusetts. 160 00:09:26,040 --> 00:09:28,580 Men vi kan ikke rigtig gøre noget med det. 161 00:09:28,580 --> 00:09:31,760 Vi ønsker at konvertere denne til bredde og længde. 162 00:09:31,760 --> 00:09:34,940 Og det er, hvad geokodningstjeneste kommer til at gøre for os. 163 00:09:34,940 --> 00:09:40,630 Nederst i initcb, ser vi, at vi har geocoder lig ny 164 00:09:40,630 --> 00:09:45,830 google.maps.geocoder der initialiserer denne variabel for os. 165 00:09:45,830 --> 00:09:47,930 >> Så tilbage til teleportere. 166 00:09:47,930 --> 00:09:51,240 Vi ser at vi bruger den geocoder. 167 00:09:51,240 --> 00:09:54,970 Vi geokodning den adresse, der var videregives til teleportere funktion, som 168 00:09:54,970 --> 00:09:57,450 blev greb fra input boksen. 169 00:09:57,450 --> 00:10:02,020 Og vi passerer det et opkald tilbage som tager resultater og status. 170 00:10:02,020 --> 00:10:05,905 Så første ting, vi er nødt til at kontrollere per API dokument google.maps. 171 00:10:05,905 --> 00:10:06,130 GeocodingService. 172 00:10:06,130 --> 00:10:08,330 Maps 173 00:10:08,330 --> 00:10:11,550 >> Så vi er nødt til at kontrollere status for at se om det returnerede. 174 00:10:11,550 --> 00:10:16,820 google.maps.GeocoderStatus.OK som tyder på, at vi har et gyldigt resultat. 175 00:10:16,820 --> 00:10:19,310 Hvis vi ikke gør det, så får vi ingen kan gøre. 176 00:10:19,310 --> 00:10:20,990 Dette kan være en ugyldig adresse. 177 00:10:20,990 --> 00:10:24,630 Eller API tjeneste kan være nede, eller hvem ved? 178 00:10:24,630 --> 00:10:29,980 Antager vi har en succes resultat så vi kommer til at få fat i den placering fra 179 00:10:29,980 --> 00:10:30,790 resultatet. 180 00:10:30,790 --> 00:10:34,220 Og vi kommer til at sætte Google Map i nederste højre hjørne for at være 181 00:10:34,220 --> 00:10:38,870 centreret på dette sted og opdatere bus på kortet til denne placering. 182 00:10:38,870 --> 00:10:41,620 >> Og nu er vi nødt til at opdatere Google Earth plug-in. 183 00:10:41,620 --> 00:10:45,340 Så vi opdaterer breddegrad og længdegrad af rumfærgen. 184 00:10:45,340 --> 00:10:50,570 Og vi har brug for at opdatere shuttle.localAnchorCartesian da hvis 185 00:10:50,570 --> 00:10:55,250 man ser på shuttle.js, vil du se, at der også holder styr på breddegrad 186 00:10:55,250 --> 00:10:56,310 og længdegrad. 187 00:10:56,310 --> 00:10:59,490 Så hvis vi ikke opdaterer det, har vi oprindelige bredde og længde 188 00:10:59,490 --> 00:11:01,330 opbevares skjult et sted. 189 00:11:01,330 --> 00:11:06,490 Så opdatere nu, vi kalder shuttle.updateCamera at genopfriske 190 00:11:06,490 --> 00:11:09,070 screene og vise os vores nye placering. 191 00:11:09,070 --> 00:11:10,380 Og det er det. 192 00:11:10,380 --> 00:11:11,500 Mit navn er Rob. 193 00:11:11,500 --> 00:11:12,750 Og dette var Shuttle. 194 00:11:12,750 --> 00:11:18,080