1 00:00:00,000 --> 00:00:11,712 2 00:00:11,712 --> 00:00:12,850 >> ROB BOWDEN: Oi 3 00:00:12,850 --> 00:00:13,780 Estou Rob. 4 00:00:13,780 --> 00:00:19,500 E eu espero que estea listo para incorporarse o que Estou caendo fóra ou poñer para abaixo, 5 00:00:19,500 --> 00:00:22,230 ou imos comezar. 6 00:00:22,230 --> 00:00:25,040 Entón o primeiro que necesitamos que facer é pegar. 7 00:00:25,040 --> 00:00:29,370 Agora, incorporarse será a eliminación do Iconas dos pasaxeiros de Google 8 00:00:29,370 --> 00:00:32,759 mapear, na parte inferior dereita e de Google Earth no centro da 9 00:00:32,759 --> 00:00:33,970 a pantalla. 10 00:00:33,970 --> 00:00:37,180 Polo tanto, a fin de eliminar os iconas, necesitamos ter a 11 00:00:37,180 --> 00:00:39,040 referencias a eles en algún lugar. 12 00:00:39,040 --> 00:00:43,680 Pero actualmente, a función Encher só se librar deles. 13 00:00:43,680 --> 00:00:48,140 Entón nós imos ter que modificar cubrir para mantelos por preto. 14 00:00:48,140 --> 00:00:53,440 >> Agora primeiro que veremos é que nós ten unha matriz de pasaxeiros global. 15 00:00:53,440 --> 00:00:57,710 E así nós imos usar iso é globais pasaxeiros array en cubrir. 16 00:00:57,710 --> 00:01:03,230 En Encher vemos que estamos looping sobre todos os nosos pasaxeiros. 17 00:01:03,230 --> 00:01:10,420 E é este ciclo que está creando o poña marca a Google Earth eo 18 00:01:10,420 --> 00:01:12,540 marcador ao mapa de Google. 19 00:01:12,540 --> 00:01:16,420 E agora a nosa modificación para cubrir é estar aquí. 20 00:01:16,420 --> 00:01:21,760 Entón, nós estamos engadindo aos nosos pasaxeiros " disposición deste obxecto que está mantendo 21 00:01:21,760 --> 00:01:26,480 a volta ao marcador e poñer marca que acabamos de creado xunto coa casa e 22 00:01:26,480 --> 00:01:28,460 nome do pasaxeiro. 23 00:01:28,460 --> 00:01:30,560 >> Entón é iso para cubrir. 24 00:01:30,560 --> 00:01:33,210 Agora, necesitamos mirar o traslado. 25 00:01:33,210 --> 00:01:38,540 Así, en incorporarse, imos unha vez máis para iterado sobre os nosos pasaxeiros. 26 00:01:38,540 --> 00:01:41,340 Pero agora é a nosa mundial matriz de pasaxeiros. 27 00:01:41,340 --> 00:01:46,150 E aquí estamos a ver moi ben, teñen xa peguei ese pasaxeiro? 28 00:01:46,150 --> 00:01:50,030 Sempre que teñamos peguei ese pasaxeiro, vemos que ao final 29 00:01:50,030 --> 00:01:55,240 imos definir o marcador e lugar marca como nulo, xa que non somos 30 00:01:55,240 --> 00:01:56,930 xa no mapa de Google. 31 00:01:56,930 --> 00:02:00,920 >> Entón, se nós xa peguei ese de pasaxeiros, a continuación, nós só estamos indo a 32 00:02:00,920 --> 00:02:02,920 continúe ao seguinte pasaxeiro. 33 00:02:02,920 --> 00:02:07,380 Senón, imos comprobar a ver se este casa de pasaxeiros está dentro da 34 00:02:07,380 --> 00:02:08,590 disposición da casa. 35 00:02:08,590 --> 00:02:11,900 Esta é a comprobación de que necesitamos para ter seguro que non incorporarse o calouro como 36 00:02:11,900 --> 00:02:13,180 especificación di. 37 00:02:13,180 --> 00:02:15,920 Entón, se o pasaxeiro é un calouro, imos 38 00:02:15,920 --> 00:02:18,190 continúe ao seguinte pasaxeiro. 39 00:02:18,190 --> 00:02:21,720 >> Unha vez que teñamos Comprobarase que se trata dun pasaxeiro debemos estar pegando, 40 00:02:21,720 --> 00:02:25,340 imos agora comprobar a latitude e lonxitude do pasaxeiro para ver 41 00:02:25,340 --> 00:02:27,760 se isto é dentro de 15 pés do autobús. 42 00:02:27,760 --> 00:02:31,720 En tal caso, queremos realmente para incorporarse este pasaxeiro. 43 00:02:31,720 --> 00:02:35,890 Entón, nós integramos sobre todos os asentos na nosa bus mirando a ver se 44 00:02:35,890 --> 00:02:38,110 hai un lugar dispoñíbel para o pasaxeiro. 45 00:02:38,110 --> 00:02:41,540 Un dos asentos é nulo, iso é un lugar dispoñible. 46 00:02:41,540 --> 00:02:45,140 Entón, nós engadimos o pasaxeiro do asento. 47 00:02:45,140 --> 00:02:48,760 Lembramo connosco de que colleu o de pasaxeiros, de xeito que, ao final, o que pudermos 48 00:02:48,760 --> 00:02:52,450 anunciar si realmente non incorporarse calquera superior. 49 00:02:52,450 --> 00:02:56,140 Recordamos que esta sentado pasaxeiro, pois se logramos 50 00:02:56,140 --> 00:02:59,320 a través de todo o transporte, sen asento do pasaxeiro, así necesitamos 51 00:02:59,320 --> 00:03:00,885 anunciar que estamos fóra de asentos. 52 00:03:00,885 --> 00:03:03,760 53 00:03:03,760 --> 00:03:06,885 >> Entón, elimina o seu lugar marcar dende Google Earth. 54 00:03:06,885 --> 00:03:11,310 Nós eliminamos seu marcador de Google Maps, definido dentro dos nosos pasaxeiros " 55 00:03:11,310 --> 00:03:14,830 marca lugar array e etiqueta como nulo, como dixemos antes. 56 00:03:14,830 --> 00:03:16,035 E entón é iso. 57 00:03:16,035 --> 00:03:17,050 O pasaxeiro foi asentado. 58 00:03:17,050 --> 00:03:19,570 Xa que teña feito isto para todos os pasaxeiros dentro de 15 pés do 59 00:03:19,570 --> 00:03:23,250 shuttle, necesitamos rechart. 60 00:03:23,250 --> 00:03:30,270 >> Entón Chart é o que vai amosar o pasaxeiros nos asentos máis aquí. 61 00:03:30,270 --> 00:03:32,760 Entón, agora, imos ollar para o gráfico. 62 00:03:32,760 --> 00:03:37,960 Dentro Gráfico, seremos construción do HTML para a gráfica. 63 00:03:37,960 --> 00:03:41,160 Así, o gráfico vai ser unha lista ordenada. 64 00:03:41,160 --> 00:03:44,300 Entón imos iterado sobre todo asentos no noso autobús. 65 00:03:44,300 --> 00:03:48,450 Polo tanto, se ese lugar específico é nulo, que significa que queremos un elemento da lista que 66 00:03:48,450 --> 00:03:50,800 indica que é un doado baleiro. 67 00:03:50,800 --> 00:03:55,650 Outra cousa, se non fose nulo, entón queremos un elemento da lista que vai amosar 68 00:03:55,650 --> 00:03:58,660 o nome do pasaxeiro, e a casa do pasaxeiro 69 00:03:58,660 --> 00:04:00,420 que está neste lugar. 70 00:04:00,420 --> 00:04:04,620 >> Unha vez que teñamos iterado sobre toda a asentos entón pechamos a nosa lista ordenada 71 00:04:04,620 --> 00:04:09,410 e utilizar jQuery para seleccionar o div gráfico e substitúe-lo é HTML co noso novo 72 00:04:09,410 --> 00:04:10,550 lista ordenada. 73 00:04:10,550 --> 00:04:12,090 E iso é todo para Chart. 74 00:04:12,090 --> 00:04:15,170 >> Entón última cousa é caer. 75 00:04:15,170 --> 00:04:20,860 Agora caer será moi semellante a incorporarse. 76 00:04:20,860 --> 00:04:24,150 No canto de facer loop para todo o pasaxeiros, imos varrer 77 00:04:24,150 --> 00:04:25,780 todos os asentos do autobús. 78 00:04:25,780 --> 00:04:29,720 Entón looping en asentos do autobús, nós ver é este asento de transporte especial 79 00:04:29,720 --> 00:04:32,850 non nulo, caso en que non hai un pasaxeiro neste lugar. 80 00:04:32,850 --> 00:04:35,380 En tal caso, queremos para incorporarse á latitude e 81 00:04:35,380 --> 00:04:37,030 lonxitude deste pasaxeiro. 82 00:04:37,030 --> 00:04:42,110 >> Entón, usando conxunto da casa, somos vai pegar a casa do 83 00:04:42,110 --> 00:04:46,990 pasaxeiros neste lugar e, a continuación, pegar o latitude daquela casa particular 84 00:04:46,990 --> 00:04:49,070 e de xeito similar á lonxitude. 85 00:04:49,070 --> 00:04:54,270 Agora, unha vez máis, utilizar a distancia para ver naquela casa é dentro de 30 pés de nós. 86 00:04:54,270 --> 00:04:58,320 En tal caso, queren establecer este asento como nulo, xa que o pasaxeiro 87 00:04:58,320 --> 00:05:01,760 se deixou, e incremento que un pasaxeiro foi abandonado. 88 00:05:01,760 --> 00:05:05,910 De xeito que, ao final, se non había ninguén caeu fóra, anunciamos que ninguén 89 00:05:05,910 --> 00:05:07,600 quere deixar aquí. 90 00:05:07,600 --> 00:05:12,510 >> Por último, cómpre rechart para que exibimos novas, lugares baleiros. 91 00:05:12,510 --> 00:05:15,770 Agora, só precisa aplicar algúns recursos extra. 92 00:05:15,770 --> 00:05:17,680 Agora, non hai moito que podería escoller a partir. 93 00:05:17,680 --> 00:05:21,630 Pero no noso caso nós Implementar teletransporte, voando, e acelerando, e 94 00:05:21,630 --> 00:05:22,770 apresura-se a continuación. 95 00:05:22,770 --> 00:05:25,100 Entón, imos ollar para aqueles. 96 00:05:25,100 --> 00:05:27,830 En primeiro lugar, imos dar un ollo en a función de aceleración. 97 00:05:27,830 --> 00:05:32,720 Entón, no noso caso, o keystroke función, onde xa está lidando 98 00:05:32,720 --> 00:05:39,900 todas estas claves, imos tamén para recoñecer X e Z. O que especificamos 99 00:05:39,900 --> 00:05:43,720 que estes personaxes van causar a velocidade do transporte para 100 00:05:43,720 --> 00:05:46,530 aumentar e diminuír. 101 00:05:46,530 --> 00:05:50,940 >> Entón, teña en conta que poñemos un límite de quão de alto e de como unha baixa velocidade pode 102 00:05:50,940 --> 00:05:55,030 realmente ir sempre que non queremos o autobús para ser moi rápido. 103 00:05:55,030 --> 00:05:58,180 E nós tampouco queremos que o transporte de velocidade para ir a cero ou, finalmente, 104 00:05:58,180 --> 00:06:01,480 mesmo negativo o que resultará nalgún comportamento estraño. 105 00:06:01,480 --> 00:06:03,890 E iso por exceso de velocidade e abrandar. 106 00:06:03,890 --> 00:06:05,980 >> Agora, imos dar un ollo ao voo. 107 00:06:05,980 --> 00:06:11,370 Entón lembre de que o recurso a voar require que escriba o Código Konami. 108 00:06:11,370 --> 00:06:18,070 Entón, na parte superior, vemos que temos algunhas variables globais, Código Konami que é 109 00:06:18,070 --> 00:06:20,975 unha matriz que só está mantendo o control do chaves que deben ser introducidos para 110 00:06:20,975 --> 00:06:22,600 Código Konami. 111 00:06:22,600 --> 00:06:26,340 Hai un bool que indica O Código Konami xa ten 112 00:06:26,340 --> 00:06:27,660 foi inserida. 113 00:06:27,660 --> 00:06:30,430 E despois hai o índice en a matriz Código Konami que 114 00:06:30,430 --> 00:06:31,770 estamos actualmente. 115 00:06:31,770 --> 00:06:36,020 >> Polo tanto, se o usuario xa entrou tres caracteres do Código Konami 116 00:06:36,020 --> 00:06:40,530 entón o índice vai ligar a A cuarta cousa na matriz, o 117 00:06:40,530 --> 00:06:42,150 terceiro índice. 118 00:06:42,150 --> 00:06:44,630 Usando isto, unha vez máis, nós imos mirar curso chave. 119 00:06:44,630 --> 00:06:48,040 120 00:06:48,040 --> 00:06:51,910 E no curso clave que vemos aquí que, se Código Konami aínda non foi 121 00:06:51,910 --> 00:06:58,410 entrou, entón nós queremos ver é o clave que se ingresaran o que estamos 122 00:06:58,410 --> 00:07:01,250 actualmente á espera de a matriz Código Konami. 123 00:07:01,250 --> 00:07:04,350 En tal caso, entón incrementamos noso índice. 124 00:07:04,350 --> 00:07:07,660 >> Se o usuario inserir índice anterior, logo está indo a ir a un. 125 00:07:07,660 --> 00:07:10,280 A continuación, o usuario pode escribir de novo, o índice vai para dous. 126 00:07:10,280 --> 00:07:12,150 A continuación, eles van escribir para abaixo, vai para tres. 127 00:07:12,150 --> 00:07:17,320 No caso de que tipo Q, que vai restablecer o zerar xa que non se atoparon 128 00:07:17,320 --> 00:07:20,140 a esperanza. 129 00:07:20,140 --> 00:07:24,810 Agora, se eles conseguen pasar o matriz enteira, a continuación, eles entraron na 130 00:07:24,810 --> 00:07:26,280 Código Konami. 131 00:07:26,280 --> 00:07:33,960 En cal caso, agora que a Konami entrou é certo, vemos aquí que, se 132 00:07:33,960 --> 00:07:40,460 A Konami foi inscrito, aceptamos dous novos chaves, D e E. Que todos os que van facer 133 00:07:40,460 --> 00:07:45,800 é establecer o voando baixo e voar estados superior do autobús. 134 00:07:45,800 --> 00:07:48,530 Así, xa existen para ti. 135 00:07:48,530 --> 00:07:51,190 Só ten que tomar proveito deles. 136 00:07:51,190 --> 00:07:52,890 E iso é para voar. 137 00:07:52,890 --> 00:07:54,680 >> Por último, temos teletransportar. 138 00:07:54,680 --> 00:08:00,710 Entón, dentro do HTML, vemos que nós engadimos unha caixa de entrada e unha 139 00:08:00,710 --> 00:08:02,270 botón teletransportar. 140 00:08:02,270 --> 00:08:08,300 A caixa ten enderezo ID, eo botón ten un botón de teletransporte ID. 141 00:08:08,300 --> 00:08:13,970 Agora un pouco aburrido detalle é que se non se fai nada con evento 142 00:08:13,970 --> 00:08:19,210 manipuladores entón cando tentamos escribir Algo así como un para a caixa de entrada, 143 00:08:19,210 --> 00:08:25,250 no canto de realmente amarre A, o noso Google Terra pasará ao 144 00:08:25,250 --> 00:08:30,040 A esquerda sempre xa está rexistrado para xestionar movemento cara á esquerda. 145 00:08:30,040 --> 00:08:35,100 >> Así, o detalle irritante aquí é que cando temos unha tecla para abaixo ou tecla para arriba 146 00:08:35,100 --> 00:08:40,789 evento dentro da caixa de entrada, queremos para event.stop propagación que é 147 00:08:40,789 --> 00:08:43,830 só vai impedir que o deslizante do shuttle. 148 00:08:43,830 --> 00:08:48,510 Xa que é tratado, tamén quere engadir un manipulador para o botón de teletransporte. 149 00:08:48,510 --> 00:08:52,880 Cando prememos o botón de teletransporte, nós coller o enderezo, o cal é o actual 150 00:08:52,880 --> 00:08:57,580 valor na caixa de entrada e, a continuación, chamamos esta función de teletransporte. 151 00:08:57,580 --> 00:09:00,910 >> Entón, o que fai o teletransporte función parécese? 152 00:09:00,910 --> 00:09:04,840 Ben, o primeiro que vemos é que estamos usar geocoder. geocode. 153 00:09:04,840 --> 00:09:06,940 Entón o que é iso? 154 00:09:06,940 --> 00:09:10,330 Ben, se miramos a arriba, vemos que temos un novo 155 00:09:10,330 --> 00:09:13,860 variable global, geocoder. 156 00:09:13,860 --> 00:09:17,500 E esta é unha referencia mundial a un servizo de geocodificação. 157 00:09:17,500 --> 00:09:19,380 Agora o que iso fai para nós? 158 00:09:19,380 --> 00:09:23,810 Ben, en caixa de entrada, eu vou ser entrar algo así como 33 Oxford 159 00:09:23,810 --> 00:09:26,040 Street Cambridge, Massachusetts. 160 00:09:26,040 --> 00:09:28,580 Pero nós realmente non pode facer nada con iso. 161 00:09:28,580 --> 00:09:31,760 Queremos converter isto para latitude e lonxitude. 162 00:09:31,760 --> 00:09:34,940 E iso é o que o servizo de geocodificação vai facer por nós. 163 00:09:34,940 --> 00:09:40,630 Na parte inferior da initcb vemos que temos geocoder é igual a nova 164 00:09:40,630 --> 00:09:45,830 google.maps.geocoder que arrinque esta variable para nós. 165 00:09:45,830 --> 00:09:47,930 >> Entón, volver para teleportar. 166 00:09:47,930 --> 00:09:51,240 Vemos que estamos usando o geocoder. 167 00:09:51,240 --> 00:09:54,970 Estamos geocodificação o enderezo que se pasado para a función de teletransporte que 168 00:09:54,970 --> 00:09:57,450 foi agarrado a partir da bandexa de entrada. 169 00:09:57,450 --> 00:10:02,020 E nós estamos pasando unha chamada de volta que leva resultados e estado. 170 00:10:02,020 --> 00:10:05,905 Entón o primeiro que necesitamos comprobar por o documento API de google.maps. 171 00:10:05,905 --> 00:10:06,130 GeocodingService. 172 00:10:06,130 --> 00:10:08,330 Mapas 173 00:10:08,330 --> 00:10:11,550 >> Entón, temos que comprobar o estado para ver se volveu. 174 00:10:11,550 --> 00:10:16,820 google.maps.GeocoderStatus.OK que indica que temos un resultado válido. 175 00:10:16,820 --> 00:10:19,310 Se non, entón nós comezamos, non podemos facer. 176 00:10:19,310 --> 00:10:20,990 Isto pode ser un enderezo válido. 177 00:10:20,990 --> 00:10:24,630 Ou o poder servizo API ser baixo ou quen sabe? 178 00:10:24,630 --> 00:10:29,980 Supoñendo que temos un resultado de éxito, a continuación, imos pegar a localización de 179 00:10:29,980 --> 00:10:30,790 o resultado. 180 00:10:30,790 --> 00:10:34,220 E nós estamos indo a definir o mapa de Google na parte inferior dereita de ser 181 00:10:34,220 --> 00:10:38,870 centrada naquel local e actualizar o autobús no mapa para este local. 182 00:10:38,870 --> 00:10:41,620 >> E agora temos que actualizar o O plugin de Google Earth. 183 00:10:41,620 --> 00:10:45,340 Entón, nós actualizamos a latitude e lonxitude da nave. 184 00:10:45,340 --> 00:10:50,570 E nós tamén necesitamos actualizar shuttle.localAnchorCartesian desde 185 00:10:50,570 --> 00:10:55,250 mira para shuttle.js, vai ver que que tamén mantén o control de latitude 186 00:10:55,250 --> 00:10:56,310 e lonxitude. 187 00:10:56,310 --> 00:10:59,490 Entón, se non actualizar isto, temos a latitude e lonxitude de inicio 188 00:10:59,490 --> 00:11:01,330 almacenada escondido en algún lugar. 189 00:11:01,330 --> 00:11:06,490 Así, a actualización que agora, chamamos shuttle.updateCamera para actualizar a 190 00:11:06,490 --> 00:11:09,070 pantalla e nos amosar o noso novo local. 191 00:11:09,070 --> 00:11:10,380 E é iso. 192 00:11:10,380 --> 00:11:11,500 O meu nome é Rob. 193 00:11:11,500 --> 00:11:12,750 E esta era Shuttle. 194 00:11:12,750 --> 00:11:18,080