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 Ek is Rob. 4 00:00:13,780 --> 00:00:19,500 En ek hoop jy is gereed om af te haal wat Ek afval of om dit af, 5 00:00:19,500 --> 00:00:22,230 of laat ons begin. 6 00:00:22,230 --> 00:00:25,040 So die eerste ding wat ons nodig te doen, is om af te haal. 7 00:00:25,040 --> 00:00:29,370 Nou, haal gaan word die verwydering van die passasiers se ikone van die Google 8 00:00:29,370 --> 00:00:32,759 kaart in die onderste regterkantste hoek en uit die Google Earth in die middel van 9 00:00:32,759 --> 00:00:33,970 die skerm. 10 00:00:33,970 --> 00:00:37,180 So ten einde diegene te verwyder ikone, moet ons die 11 00:00:37,180 --> 00:00:39,040 verwysings na hulle iewers. 12 00:00:39,040 --> 00:00:43,680 Maar op die oomblik, die vul funksie net ontslae raak van hulle. 13 00:00:43,680 --> 00:00:48,140 So ons gaan hê om aan te pas vul hulle te hou rond. 14 00:00:48,140 --> 00:00:53,440 >> Nou eerste ding wat ons sal sien, is dat ons het 'n globale passasiers skikking. 15 00:00:53,440 --> 00:00:57,710 En so gaan ons dat die wêreldwye se gebruik passasiers skikking in vul. 16 00:00:57,710 --> 00:01:03,230 In te vul, sien ons dat ons herhaling oor almal van ons passasiers. 17 00:01:03,230 --> 00:01:10,420 En dit is hierdie lus wat is die skep van die plaas punt vir Google Earth en die 18 00:01:10,420 --> 00:01:12,540 merker vir die Google Map. 19 00:01:12,540 --> 00:01:16,420 En so nou is ons verandering aan te vul, is om hier te wees. 20 00:01:16,420 --> 00:01:21,760 So ons is te voeg aan ons passasiers ' verskeidenheid hierdie voorwerp wat hou 21 00:01:21,760 --> 00:01:26,480 om die merker en plek merk ons ​​net geskep saam met die huis en 22 00:01:26,480 --> 00:01:28,460 die naam van die passasier. 23 00:01:28,460 --> 00:01:30,560 >> So dit is dit vir bevolk. 24 00:01:30,560 --> 00:01:33,210 Nou het ons nodig het om te kyk na Pick Up. 25 00:01:33,210 --> 00:01:38,540 So in Pick Up, ons weer gaan Itereer oor almal van ons passasiers. 26 00:01:38,540 --> 00:01:41,340 Maar nou is dit ons globale passasiers skikking. 27 00:01:41,340 --> 00:01:46,150 En hier is ons wat goed sien, het ons reeds opgetel die passasier? 28 00:01:46,150 --> 00:01:50,030 Want as ons opgetel hierdie passasier, sien ons in die einde wat 29 00:01:50,030 --> 00:01:55,240 ons gaan die merker te stel en die plek punt te null aangesien hulle geen 30 00:01:55,240 --> 00:01:56,930 meer in die Google kaart. 31 00:01:56,930 --> 00:02:00,920 >> So as ons reeds opgetel passasier dan is ons net gaan om te 32 00:02:00,920 --> 00:02:02,920 voortgaan om die volgende passasier. 33 00:02:02,920 --> 00:02:07,380 Anders, ons gaan om te sien of dit passasier se huis is die binnekant van die 34 00:02:07,380 --> 00:02:08,590 huis se skikking. 35 00:02:08,590 --> 00:02:11,900 Dit is die tjek wat ons nodig het om seker te maak dat ons nie af te haal nie die eerstejaars as 36 00:02:11,900 --> 00:02:13,180 die spec sê. 37 00:02:13,180 --> 00:02:15,920 So indien die passasier is 'n groentjie, ons gaan 38 00:02:15,920 --> 00:02:18,190 voortgaan om die volgende passasier. 39 00:02:18,190 --> 00:02:21,720 >> Sodra ons het bewys dat dit 'n passasier ons moet pluk, 40 00:02:21,720 --> 00:02:25,340 ons nou gaan die lengte te gaan en lengtegraad van die passasier en sien 41 00:02:25,340 --> 00:02:27,760 As dit is binne 15 voete van die bus. 42 00:02:27,760 --> 00:02:31,720 As dit die geval is, het ons eintlik wil hê af te haal hierdie passasier. 43 00:02:31,720 --> 00:02:35,890 So het ons integreer oor al die sitplekke in ons shuttle soek om te sien of 44 00:02:35,890 --> 00:02:38,110 daar is 'n plek beskikbaar vir die passasier. 45 00:02:38,110 --> 00:02:41,540 As een van die sitplekke is van nul, dit is 'n beskikbare plek. 46 00:02:41,540 --> 00:02:45,140 So voeg ons die passasier in die stoel. 47 00:02:45,140 --> 00:02:48,760 Ons dink dat ons opgetel die passasier, sodat in die einde, ons kan 48 00:02:48,760 --> 00:02:52,450 kondig as ons werklik nie tel iemand up. 49 00:02:52,450 --> 00:02:56,140 Ons dink dat ons sit hierdie passasier, want as ons beheer te kry 50 00:02:56,140 --> 00:02:59,320 deur die hele bus sonder sitplek die passasier, dan moet ons 51 00:02:59,320 --> 00:03:00,885 kondig dat ons uit sitplekke. 52 00:03:00,885 --> 00:03:03,760 53 00:03:03,760 --> 00:03:06,885 >> Daarna het ons verwyder hulle plek merk van Google Earth. 54 00:03:06,885 --> 00:03:11,310 Ons verwyder hul merker van Google Maps, stel binnekant van ons passasiers ' 55 00:03:11,310 --> 00:03:14,830 verskeidenheid plekmerk en merker te null Soos ons vantevore gesê. 56 00:03:14,830 --> 00:03:16,035 En dan is dit. 57 00:03:16,035 --> 00:03:17,050 Die passasier op sit. 58 00:03:17,050 --> 00:03:19,570 Sodra ons dit gedoen het vir alle passasiers binne 15 meter van die 59 00:03:19,570 --> 00:03:23,250 pendeltuig, moet ons rechart. 60 00:03:23,250 --> 00:03:30,270 >> So kaart is wat gaan om te wys die passasiers in die sitplekke hier. 61 00:03:30,270 --> 00:03:32,760 So nou, laat ons kyk na Chart. 62 00:03:32,760 --> 00:03:37,960 Binnekant van Chart, gaan ons te wees die bou van die HTML vir die grafiek. 63 00:03:37,960 --> 00:03:41,160 So het die grafiek gaan wees om 'n geordende lys. 64 00:03:41,160 --> 00:03:44,300 Dan sal ons Itereer oor die hele die sitplekke in ons pendel. 65 00:03:44,300 --> 00:03:48,450 So as hierdie spesifieke sitplek is nul, wat beteken dat ons wil 'n lys item wat 66 00:03:48,450 --> 00:03:50,800 dui daarop dat dit 'n leë maklik. 67 00:03:50,800 --> 00:03:55,650 Anders, as dit nie was nul, dan wil ons 'n Lys item wat gaan om te vertoon 68 00:03:55,650 --> 00:03:58,660 die naam van die passasiers-en die huis van die passasier 69 00:03:58,660 --> 00:04:00,420 dit is in hierdie plek. 70 00:04:00,420 --> 00:04:04,620 >> Sodra ons het herhaal oor al die sitplekke dan sluit ons ons geordende lys 71 00:04:04,620 --> 00:04:09,410 en gebruik jQuery die grafiek div te kies en vervang dit is HTML met ons nuwe 72 00:04:09,410 --> 00:04:10,550 geordende lys. 73 00:04:10,550 --> 00:04:12,090 En dit is dit vir Chart. 74 00:04:12,090 --> 00:04:15,170 >> So laaste ding is afstap. 75 00:04:15,170 --> 00:04:20,860 Nou afstap gaan wees redelik soortgelyk aan haal. 76 00:04:20,860 --> 00:04:24,150 In plaas van die herhaling oor al die passasiers, gaan ons lus oor 77 00:04:24,150 --> 00:04:25,780 al die bus sitplekke. 78 00:04:25,780 --> 00:04:29,720 So herhaling oor die bus sitplekke, ons sien, is hierdie spesifieke shuttle sitplek 79 00:04:29,720 --> 00:04:32,850 nie null, in welke geval daar is 'n passasier in die stoel. 80 00:04:32,850 --> 00:04:35,380 As dit die geval is, wil ons die lengte aan te gryp en 81 00:04:35,380 --> 00:04:37,030 Longitude van hierdie passasier. 82 00:04:37,030 --> 00:04:42,110 >> So met behulp van die huis se skikking, ons is gaan in die huis van die te gryp 83 00:04:42,110 --> 00:04:46,990 passasier in die stoel en dan gryp die breedte van die betrokke huis 84 00:04:46,990 --> 00:04:49,070 en soortgelyk vir lengtelyn. 85 00:04:49,070 --> 00:04:54,270 Nou, ons weer gebruik afstand te sien in daardie huis is binne 30 meter van ons. 86 00:04:54,270 --> 00:04:58,320 As dit die geval is, wil hulle op te stel hierdie setel van nul, aangesien die passasier 87 00:04:58,320 --> 00:05:01,760 afgelaai en omgeslaan dat 'n passasier was afgelaai. 88 00:05:01,760 --> 00:05:05,910 Sodat in die einde, as niemand was afgelaai, ons bekend maak dat niemand 89 00:05:05,910 --> 00:05:07,600 wil word laat val hier af. 90 00:05:07,600 --> 00:05:12,510 >> Ten slotte, moet ons sodat rechart wys ons 'n nuwe, leë sitplekke. 91 00:05:12,510 --> 00:05:15,770 Nou, het jy net nodig het om te implementeer 'n paar ekstra funksies. 92 00:05:15,770 --> 00:05:17,680 Nou, daar is baie wat jy kan gekies uit. 93 00:05:17,680 --> 00:05:21,630 Maar in ons geval het ons geïmplementeer verplaas, vlieg, en die bespoediging, en 94 00:05:21,630 --> 00:05:22,770 bespoediging af. 95 00:05:22,770 --> 00:05:25,100 So laat ons kyk na hulle. 96 00:05:25,100 --> 00:05:27,830 Eerstens, laat ons 'n blik op die bespoediging van die funksie. 97 00:05:27,830 --> 00:05:32,720 So in ons geval, in die aanslag funksie, waar ons reeds die hantering 98 00:05:32,720 --> 00:05:39,900 al hierdie sleutels, ons gaan ook erken X en Z. Wat ons spesifiseer 99 00:05:39,900 --> 00:05:43,720 dat hierdie karakters gaan die bus se snelheid te veroorsaak 100 00:05:43,720 --> 00:05:46,530 verhoog en verlaag. 101 00:05:46,530 --> 00:05:50,940 >> So sien dat ons 'n gebonde oor hoe hoog en oor hoe 'n lae snelheid kan 102 00:05:50,940 --> 00:05:55,030 eintlik gaan, want ons wil nie die bus te wees te vinnig. 103 00:05:55,030 --> 00:05:58,180 En ons wil ook nie die bus se snelheid te gaan na nul of dalk 104 00:05:58,180 --> 00:06:01,480 selfs negatief wat sal lei tot in 'n vreemde gedrag. 105 00:06:01,480 --> 00:06:03,890 En dit is dit vir spoed en stadiger. 106 00:06:03,890 --> 00:06:05,980 >> Nou, Kom ons neem 'n blik op die vlieg. 107 00:06:05,980 --> 00:06:11,370 So onthou dat die vlieënde funksie vereis dat jy die Konami kode in te voer. 108 00:06:11,370 --> 00:06:18,070 So by die top, sien ons ons het 'n paar globale veranderlikes, Konami Kode wat 109 00:06:18,070 --> 00:06:20,975 'n skikking wat net hou van die sleutels wat vir ingevoer moet word 110 00:06:20,975 --> 00:06:22,600 die Konami kode. 111 00:06:22,600 --> 00:06:26,340 Daar is 'n Bool wat net dui of die Konami kode is reeds 112 00:06:26,340 --> 00:06:27,660 ingevoer is. 113 00:06:27,660 --> 00:06:30,430 En dan is daar die indeks in die Konami Kode skikking wat 114 00:06:30,430 --> 00:06:31,770 ons is tans op. 115 00:06:31,770 --> 00:06:36,020 >> So as die gebruiker het reeds ingeskryf drie karakters van die Konami Kode 116 00:06:36,020 --> 00:06:40,530 dan is die indeks gaan om te wys op die vierde ding in die skikking, die 117 00:06:40,530 --> 00:06:42,150 derde indeks. 118 00:06:42,150 --> 00:06:44,630 Gebruik van daardie, sal ons weer kyk na die sleutel beroerte. 119 00:06:44,630 --> 00:06:48,040 120 00:06:48,040 --> 00:06:51,910 En in die sleutel beroerte hier sien ons dat indien die Konami Kode nie reeds 121 00:06:51,910 --> 00:06:58,410 ingeskryf is, dan wil ons sien, is die sleutel wat aangegaan is wat ons is 122 00:06:58,410 --> 00:07:01,250 tans verwag van die Konami Kode skikking. 123 00:07:01,250 --> 00:07:04,350 As dit die geval is, dan ons inkrementeer indeks. 124 00:07:04,350 --> 00:07:07,660 >> As die gebruiker Up dan indeks gaan om te gaan vir die een. 125 00:07:07,660 --> 00:07:10,280 Dan sal die gebruiker tik weer, die indeks gaan na twee. 126 00:07:10,280 --> 00:07:12,150 Dan sal hulle tik af, dit sal gaan tot drie. 127 00:07:12,150 --> 00:07:17,320 As hulle tik Q, sal dit herstel na nul, aangesien hulle nie pas 128 00:07:17,320 --> 00:07:20,140 die verwagte waarde. 129 00:07:20,140 --> 00:07:24,810 Nou, as hulle dit regkry om deur die hele skikking dan het hulle in die 130 00:07:24,810 --> 00:07:26,280 Konami kode. 131 00:07:26,280 --> 00:07:33,960 In hierdie geval, nou dat Konami aangegaan is waar, ons sien hier dat indien 132 00:07:33,960 --> 00:07:40,460 Konami aangegaan word, aanvaar ons twee nuwe sleutels, C en E. Watter almal sal doen 133 00:07:40,460 --> 00:07:45,800 is ingestel op die vlieënde afwaartse en vlieg opwaartse state in die bus. 134 00:07:45,800 --> 00:07:48,530 So bestaan ​​reeds vir jou. 135 00:07:48,530 --> 00:07:51,190 Jy hoef net te neem voordeel van hulle. 136 00:07:51,190 --> 00:07:52,890 En dit is dit om te vlieg. 137 00:07:52,890 --> 00:07:54,680 >> Uiteindelik het ons verplaas. 138 00:07:54,680 --> 00:08:00,710 So binnekant van die HTML, sien ons dat ons 'n bydrae boks en 'n het bygevoeg 139 00:08:00,710 --> 00:08:02,270 verplaas knoppie. 140 00:08:02,270 --> 00:08:08,300 Die boks het ID-adres, en die knoppie het 'n ID teleporteer knoppie. 141 00:08:08,300 --> 00:08:13,970 Nou een irriterende klein detail is dat As ons nie iets met die gebeurtenis nie 142 00:08:13,970 --> 00:08:19,210 hanteerders dan wanneer ons probeer om te tik Iets soos 'n in die insette boks, 143 00:08:19,210 --> 00:08:25,250 in plaas van werklik vasmaak A, ons Google Aarde gaan skuif na die 144 00:08:25,250 --> 00:08:30,040 verlaat omdat A is reeds geregistreer te hanteer beweeg na links. 145 00:08:30,040 --> 00:08:35,100 >> So het die irriterende detail hier is dat wanneer ons 'n belangrike sleutel tot af of 146 00:08:35,100 --> 00:08:40,789 Indien binnekant van die insette boks, ons wil voortplanting te event.stop wat 147 00:08:40,789 --> 00:08:43,830 net gaan om te verhoed dat die gly van die bus. 148 00:08:43,830 --> 00:08:48,510 Sodra dit hanteer, ons wil ook by te voeg 'n hanteerder na die teleporteer knoppie. 149 00:08:48,510 --> 00:08:52,880 Toe ons op die teleporteer knoppie, ons gryp die adres, wat is die huidige 150 00:08:52,880 --> 00:08:57,580 waarde in die insette boks, en dan ons noem dit verplaas funksie. 151 00:08:57,580 --> 00:09:00,910 >> So, wat doen die teleporteer funksie lyk? 152 00:09:00,910 --> 00:09:04,840 Wel, die eerste ding wat ons sien, is ons gebruik geocodeerder. geocodering. 153 00:09:04,840 --> 00:09:06,940 So wat is dit? 154 00:09:06,940 --> 00:09:10,330 Wel, as ons kyk na die top, ons sien dat ons 'n nuwe 155 00:09:10,330 --> 00:09:13,860 globale veranderlike, geocodeerder. 156 00:09:13,860 --> 00:09:17,500 En dit is 'n globale verwysing 'n geocoding diens. 157 00:09:17,500 --> 00:09:19,380 Nou wat beteken dit vir ons te doen? 158 00:09:19,380 --> 00:09:23,810 Wel, in die insette boks, ek gaan om te wees betree iets soos 33 Oxford 159 00:09:23,810 --> 00:09:26,040 Street Cambridge, Massachusetts. 160 00:09:26,040 --> 00:09:28,580 Maar ons kan nie regtig enigiets met daardie. 161 00:09:28,580 --> 00:09:31,760 Ons wil hê dat die oor te skakel na breedte-en lengteligging. 162 00:09:31,760 --> 00:09:34,940 En dit is wat die geocoding diens gaan vir ons te doen. 163 00:09:34,940 --> 00:09:40,630 Aan die onderkant van initcb, sien ons dat ons het geocodeerder gelyk aan nuwe 164 00:09:40,630 --> 00:09:45,830 google.maps.geocoder wat initialisatie hierdie veranderlike vir ons. 165 00:09:45,830 --> 00:09:47,930 >> So terug te verplaas. 166 00:09:47,930 --> 00:09:51,240 Ons sien ons met behulp van die geocodeerder. 167 00:09:51,240 --> 00:09:54,970 Ons geocoding die adres wat geslaag om die teleport funksie wat 168 00:09:54,970 --> 00:09:57,450 was gegryp uit die insette boks. 169 00:09:57,450 --> 00:10:02,020 En ons is om dit terug te bel wat neem resultate en status. 170 00:10:02,020 --> 00:10:05,905 So die eerste ding wat ons nodig het om te kyk per die API dokument van google.maps. 171 00:10:05,905 --> 00:10:06,130 GeocodingService. 172 00:10:06,130 --> 00:10:08,330 Kaarte 173 00:10:08,330 --> 00:10:11,550 >> So het ons die status te keur om te sien of dit terugbesorg. 174 00:10:11,550 --> 00:10:16,820 google.maps.GeocoderStatus.OK wat dui daarop dat ons 'n geldige gevolg. 175 00:10:16,820 --> 00:10:19,310 As ons nie doen nie, dan is ons kry, nie kan doen nie. 176 00:10:19,310 --> 00:10:20,990 Dit kan 'n geldige adres te wees. 177 00:10:20,990 --> 00:10:24,630 Of die API diens mag wees af of wie weet? 178 00:10:24,630 --> 00:10:29,980 Veronderstelling ons het 'n sukses gevolg dan ons gaan die plek om te gryp uit 179 00:10:29,980 --> 00:10:30,790 die resultaat. 180 00:10:30,790 --> 00:10:34,220 En ons gaan die Google Map te stel in die onderste regterkantste hoek te wees 181 00:10:34,220 --> 00:10:38,870 gesentreer op die plek en werk die bus op die kaart op die plek. 182 00:10:38,870 --> 00:10:41,620 >> En nou het ons nodig het om te werk om die Google Earth plug-in. 183 00:10:41,620 --> 00:10:45,340 So het ons die lengte werk en Longitude van die bus. 184 00:10:45,340 --> 00:10:50,570 En ons het ook nodig het om te werk shuttle.localAnchorCartesian want as 185 00:10:50,570 --> 00:10:55,250 jy kyk na shuttle.js, sal jy sien dat wat hou ook breedte 186 00:10:55,250 --> 00:10:56,310 en breedtegraad. 187 00:10:56,310 --> 00:10:59,490 So as ons werk nie doen nie, ons het die oorspronklike lengte-en breedte 188 00:10:59,490 --> 00:11:01,330 gestoor iewers weggesteek. 189 00:11:01,330 --> 00:11:06,490 So afhangende van wat nou, ons noem shuttle.updateCamera te verfris die 190 00:11:06,490 --> 00:11:09,070 skerm en wys ons ons nuwe plek. 191 00:11:09,070 --> 00:11:10,380 En dit is dit. 192 00:11:10,380 --> 00:11:11,500 My naam is Rob. 193 00:11:11,500 --> 00:11:12,750 En dit was Shuttle. 194 00:11:12,750 --> 00:11:18,080