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 Soy Rob. 4 00:00:13,780 --> 00:00:19,500 Y espero que esté listo para recoger lo que Estoy dejando o la colocación, 5 00:00:19,500 --> 00:00:22,230 o vamos a empezar. 6 00:00:22,230 --> 00:00:25,040 Así que lo primero que necesitamos que hacer es recoger. 7 00:00:25,040 --> 00:00:29,370 Ahora, recoge que se va a retirar la Iconos de los pasajeros del Google 8 00:00:29,370 --> 00:00:32,759 mapa en la esquina inferior derecha y de el Google Earth en el centro de 9 00:00:32,759 --> 00:00:33,970 la pantalla. 10 00:00:33,970 --> 00:00:37,180 Así que el fin de eliminar los iconos, tenemos que tener la 11 00:00:37,180 --> 00:00:39,040 las referencias a ellos en alguna parte. 12 00:00:39,040 --> 00:00:43,680 Pero en la actualidad, la función Populate sólo se deshace de ellos. 13 00:00:43,680 --> 00:00:48,140 Así que vamos a tener que modificar poblar para mantener a su alrededor. 14 00:00:48,140 --> 00:00:53,440 >> Ahora lo primero que vamos a ver es que cuenten con un conjunto de pasajeros global. 15 00:00:53,440 --> 00:00:57,710 Así que vamos a utilizar que los de nivel mundial pasajeros matriz en Populate. 16 00:00:57,710 --> 00:01:03,230 En Populate, vemos que estamos en bucle sobre la totalidad de nuestros pasajeros. 17 00:01:03,230 --> 00:01:10,420 Y es este bucle que está creando la colocar la marca de Google Earth y el 18 00:01:10,420 --> 00:01:12,540 marcador para el Google Map. 19 00:01:12,540 --> 00:01:16,420 Y por lo que ahora nuestra modificación para poblar es estar aquí. 20 00:01:16,420 --> 00:01:21,760 Así que estamos añadiendo a nuestros pasajeros " array este objeto que es mantener 21 00:01:21,760 --> 00:01:26,480 alrededor de la marca de marcador y el lugar que acabamos de creado junto con la casa y 22 00:01:26,480 --> 00:01:28,460 nombre del pasajero. 23 00:01:28,460 --> 00:01:30,560 >> Así que eso es todo por Populate. 24 00:01:30,560 --> 00:01:33,210 Ahora tenemos que mirar a recogerlo. 25 00:01:33,210 --> 00:01:38,540 Así que en Pick Up, estamos una vez más va a iterar sobre todos nuestros pasajeros. 26 00:01:38,540 --> 00:01:41,340 Pero ahora es nuestro mundial pasajeros matriz. 27 00:01:41,340 --> 00:01:46,150 Y aquí estamos viendo que así, hemos que ya recogió este pasaje? 28 00:01:46,150 --> 00:01:50,030 Dado que si hemos recogido esta pasajeros, vemos al final que 29 00:01:50,030 --> 00:01:55,240 vamos a establecer el marcador y el lugar marca en nulo ya que son no 30 00:01:55,240 --> 00:01:56,930 Ya en el mapa de Google. 31 00:01:56,930 --> 00:02:00,920 >> Así que si ya hemos recogido esta pasajero entonces sólo vamos a 32 00:02:00,920 --> 00:02:02,920 continuar con el siguiente pasajero. 33 00:02:02,920 --> 00:02:07,380 Si no, comprobamos para ver si esto la casa de los pasajeros está en el interior de la 34 00:02:07,380 --> 00:02:08,590 variedad de casa. 35 00:02:08,590 --> 00:02:11,900 Este es el registro de entrada es necesario para asegurarse de que que nosotros no recogemos el estudiante de primer año como 36 00:02:11,900 --> 00:02:13,180 la especificación dice. 37 00:02:13,180 --> 00:02:15,920 Así que si el pasajero es un estudiante de primer año, vamos a 38 00:02:15,920 --> 00:02:18,190 continuar con el siguiente pasajero. 39 00:02:18,190 --> 00:02:21,720 >> Una vez que hayamos verificado que se trata de una pasajeros que se debe recoger, 40 00:02:21,720 --> 00:02:25,340 ahora vamos a comprobar la latitud y la longitud del pasajero y ver 41 00:02:25,340 --> 00:02:27,760 si eso es dentro de los 15 pies de la lanzadera. 42 00:02:27,760 --> 00:02:31,720 Si ese es el caso, que realmente queremos para recoger este pasajero. 43 00:02:31,720 --> 00:02:35,890 Así que integramos sobre todos los asientos en nuestro servicio de traslado mirando para ver si 44 00:02:35,890 --> 00:02:38,110 hay un lugar disponible para el pasajero. 45 00:02:38,110 --> 00:02:41,540 Si uno de los asientos es nulo, eso es un lugar disponible. 46 00:02:41,540 --> 00:02:45,140 Así que añadimos el pasajero al asiento. 47 00:02:45,140 --> 00:02:48,760 Recordamos que recogimos la pasajero, de modo que, al final, podamos 48 00:02:48,760 --> 00:02:52,450 anunciar si en realidad no elegir a nadie. 49 00:02:52,450 --> 00:02:56,140 Recordemos que estamos sentados esta pasajeros ya que si logramos que 50 00:02:56,140 --> 00:02:59,320 a través de todo el servicio de transporte sin asiento del pasajero, entonces tenemos que 51 00:02:59,320 --> 00:03:00,885 Anunciamos que estamos fuera de asientos. 52 00:03:00,885 --> 00:03:03,760 53 00:03:03,760 --> 00:03:06,885 >> Luego quitamos su lugar marcar desde Google Earth. 54 00:03:06,885 --> 00:03:11,310 Quitamos su marcador de mapas de Google, situada en el interior de nuestros pasajeros " 55 00:03:11,310 --> 00:03:14,830 lugar array marca y el marcador null como hemos dicho antes. 56 00:03:14,830 --> 00:03:16,035 Y entonces eso es todo. 57 00:03:16,035 --> 00:03:17,050 El pasajero se ha sentado. 58 00:03:17,050 --> 00:03:19,570 Una vez que lo hemos hecho para todos los pasajeros dentro de los 15 pies del 59 00:03:19,570 --> 00:03:23,250 lanzadera, necesitamos rechart. 60 00:03:23,250 --> 00:03:30,270 >> Así Chart es lo que va a mostrar la pasajeros en los asientos más aquí. 61 00:03:30,270 --> 00:03:32,760 Así que ahora, vamos a ver Gráfico. 62 00:03:32,760 --> 00:03:37,960 Dentro del gráfico, vamos a ser construir el HTML para el gráfico. 63 00:03:37,960 --> 00:03:41,160 Así que el gráfico se va a será una lista ordenada. 64 00:03:41,160 --> 00:03:44,300 Entonces vamos a iterar sobre todos los asientos de nuestro transporte. 65 00:03:44,300 --> 00:03:48,450 Así que si este asiento en particular es nula, significa que queremos un elemento de la lista que 66 00:03:48,450 --> 00:03:50,800 indica que se trata de un simple vacío. 67 00:03:50,800 --> 00:03:55,650 Si no, si no fuera nulo, entonces queremos un elemento de la lista que se va a mostrar 68 00:03:55,650 --> 00:03:58,660 el nombre del pasajero y la casa del pasajero 69 00:03:58,660 --> 00:04:00,420 eso es en este asiento. 70 00:04:00,420 --> 00:04:04,620 >> Una vez que hemos repiten a lo largo de todo el asientos entonces cerramos nuestra lista ordenada 71 00:04:04,620 --> 00:04:09,410 y usar jQuery para seleccionar el div gráfico y reemplazar es HTML con nuestro nuevo 72 00:04:09,410 --> 00:04:10,550 lista ordenada. 73 00:04:10,550 --> 00:04:12,090 Y eso es todo por carta. 74 00:04:12,090 --> 00:04:15,170 >> Así que lo último que se caen. 75 00:04:15,170 --> 00:04:20,860 Ahora dejar va a ser bastante similar a recogerlo. 76 00:04:20,860 --> 00:04:24,150 En lugar de un bucle sobre todos los pasajeros, vamos a reproducir indefinidamente 77 00:04:24,150 --> 00:04:25,780 todos los asientos del transbordador. 78 00:04:25,780 --> 00:04:29,720 Así bucle sobre los asientos del transbordador, que ver es este asiento lanzadera especial 79 00:04:29,720 --> 00:04:32,850 no es nulo, en cuyo caso hay un pasajero en este asiento. 80 00:04:32,850 --> 00:04:35,380 Si ese es el caso, queremos para tomar la latitud y 81 00:04:35,380 --> 00:04:37,030 longitud de este pasajero. 82 00:04:37,030 --> 00:04:42,110 >> Así, utilizando variedad de la casa, estamos va a agarrar la casa del 83 00:04:42,110 --> 00:04:46,990 pasajero en este asiento y luego agarrar el latitud de esa casa en particular 84 00:04:46,990 --> 00:04:49,070 y de manera similar para la longitud. 85 00:04:49,070 --> 00:04:54,270 Ahora, una vez más usamos a distancia para ver en esa casa se encuentra a 30 metros de nosotros. 86 00:04:54,270 --> 00:04:58,320 Si ese es el caso, quieren establecer este asiento en nulo, ya que el pasajero 87 00:04:58,320 --> 00:05:01,760 fue caído apagado, y el incremento que un pasajero fue dejado. 88 00:05:01,760 --> 00:05:05,910 Así que al final, si no había nadie dejados, anunciamos que nadie 89 00:05:05,910 --> 00:05:07,600 quiere ser dejado aquí. 90 00:05:07,600 --> 00:05:12,510 >> Por último, tenemos que rechart para que presentamos nuevos asientos vacíos. 91 00:05:12,510 --> 00:05:15,770 Ahora, sólo tiene que poner en práctica algunas características adicionales. 92 00:05:15,770 --> 00:05:17,680 Ahora, hay muchas cosas que usted podría han optado por. 93 00:05:17,680 --> 00:05:21,630 Pero en nuestro caso hemos implementado telepuerto, volar, y acelerar y 94 00:05:21,630 --> 00:05:22,770 exceso de velocidad hacia abajo. 95 00:05:22,770 --> 00:05:25,100 Así que echemos un vistazo a los. 96 00:05:25,100 --> 00:05:27,830 En primer lugar, vamos a echar un vistazo a la aceleración característica. 97 00:05:27,830 --> 00:05:32,720 Así que en nuestro caso, en el golpe de teclado función, en los que ya estamos manejando 98 00:05:32,720 --> 00:05:39,900 todas estas teclas, también vamos a reconocer X y Z. Lo que especificamos 99 00:05:39,900 --> 00:05:43,720 que estos personajes van a causar la velocidad del servicio de transporte a 100 00:05:43,720 --> 00:05:46,530 aumentar y disminuir. 101 00:05:46,530 --> 00:05:50,940 >> Así notamos que ponemos un límite sobre cómo de altura y en cómo una baja la velocidad puede 102 00:05:50,940 --> 00:05:55,030 realmente ir ya que no queremos el servicio de transporte que sea demasiado rápido. 103 00:05:55,030 --> 00:05:58,180 Y también no queremos que el servicio de transporte de velocidad para ir a cero o posiblemente 104 00:05:58,180 --> 00:06:01,480 incluso negativo que resultará en algún comportamiento extraño. 105 00:06:01,480 --> 00:06:03,890 Y eso es todo por exceso de velocidad y desaceleración. 106 00:06:03,890 --> 00:06:05,980 >> Ahora, echemos un vistazo a vuelo. 107 00:06:05,980 --> 00:06:11,370 Así que recuerda que la función de volar requiere que se introduzca el código de Konami. 108 00:06:11,370 --> 00:06:18,070 Así que en la parte superior, vemos que tenemos un poco de variables globales, Código Konami que es 109 00:06:18,070 --> 00:06:20,975 un conjunto que acaba de hacer el seguimiento de la teclas que necesitan ser introducido para 110 00:06:20,975 --> 00:06:22,600 el Código Konami. 111 00:06:22,600 --> 00:06:26,340 Hay un Bool que sólo indica si el Código Konami ya tiene 112 00:06:26,340 --> 00:06:27,660 sido introducido. 113 00:06:27,660 --> 00:06:30,430 Y luego está el índice en la 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 >> Así que si el usuario ya ha entrado en tres caracteres del código de Konami 116 00:06:36,020 --> 00:06:40,530 a continuación, el índice se va a señalar la cuarta hora de la matriz, el 117 00:06:40,530 --> 00:06:42,150 tercera índice. 118 00:06:42,150 --> 00:06:44,630 El uso que, una vez más vamos a mirar a golpe de tecla. 119 00:06:44,630 --> 00:06:48,040 120 00:06:48,040 --> 00:06:51,910 Y en golpe de tecla que vemos aquí que si el Código Konami ya no ha sido 121 00:06:51,910 --> 00:06:58,410 entró, entonces queremos ver es el clave que se ingresó a qué nos 122 00:06:58,410 --> 00:07:01,250 Actualmente esperando de la matriz Código Konami. 123 00:07:01,250 --> 00:07:04,350 Si ese es el caso, entonces incrementamos nuestro índice. 124 00:07:04,350 --> 00:07:07,660 >> Si el usuario escribe Hasta entonces índice va a ir a uno. 125 00:07:07,660 --> 00:07:10,280 Entonces el usuario escribirá de nuevo, el índice va a dos. 126 00:07:10,280 --> 00:07:12,150 Entonces ellos escriben abajo, irá a tres. 127 00:07:12,150 --> 00:07:17,320 Si tipo Q, que va a restaurar a cero, ya que no coinciden 128 00:07:17,320 --> 00:07:20,140 el valor esperado. 129 00:07:20,140 --> 00:07:24,810 Ahora bien, si se las arreglan para conseguir a través de la matriz completa a continuación que han entrado en la 130 00:07:24,810 --> 00:07:26,280 Código Konami. 131 00:07:26,280 --> 00:07:33,960 En cuyo caso, ahora que Konami entró Es cierto, vemos aquí que si 132 00:07:33,960 --> 00:07:40,460 Konami se ha introducido, aceptamos dos nuevos teclas, C y E. ¿Qué todos aquellos hará 133 00:07:40,460 --> 00:07:45,800 se establece la volar hacia abajo y volar estados al alza en el servicio de transporte. 134 00:07:45,800 --> 00:07:48,530 Así que ya existen para usted. 135 00:07:48,530 --> 00:07:51,190 Usted sólo tiene que tomar aprovecharse de ellos. 136 00:07:51,190 --> 00:07:52,890 Y eso es todo para volar. 137 00:07:52,890 --> 00:07:54,680 >> Por último, hemos teletransportarse. 138 00:07:54,680 --> 00:08:00,710 Así que dentro del código HTML, vemos que hemos añadido un cuadro de entrada y una 139 00:08:00,710 --> 00:08:02,270 botón de teletransportarse. 140 00:08:02,270 --> 00:08:08,300 La caja tiene dirección ID, y el botón de tiene un botón de telepuerto ID. 141 00:08:08,300 --> 00:08:13,970 Ahora un pequeño detalle molesto es que si no hacemos nada con el evento 142 00:08:13,970 --> 00:08:19,210 manipuladores entonces cuando tratamos de escribir algo así como A en el cuadro de entrada, 143 00:08:19,210 --> 00:08:25,250 en lugar de realmente atar A, nuestro Google Tierra va a pasar a la 144 00:08:25,250 --> 00:08:30,040 A la izquierda ya que ya está registrado de control de movimiento a la izquierda. 145 00:08:30,040 --> 00:08:35,100 >> Así el detalle molesto aquí es que cuando tenemos una tecla o la tecla de arriba 146 00:08:35,100 --> 00:08:40,789 evento en el interior de la caja de entrada, queremos a event.stop propagación que es 147 00:08:40,789 --> 00:08:43,830 sólo va a evitar que el deslizamiento de la lanzadera. 148 00:08:43,830 --> 00:08:48,510 Una vez que lo maneja, también queremos añadir un controlador para el botón de teletransporte. 149 00:08:48,510 --> 00:08:52,880 Cuando hacemos clic en el botón de teletransporte, que agarrar la dirección, que es el actual 150 00:08:52,880 --> 00:08:57,580 valor en el cuadro de entrada, y luego llamamos a esta función telepuerto. 151 00:08:57,580 --> 00:09:00,910 >> Así que lo que hace el telepuerto función parece? 152 00:09:00,910 --> 00:09:04,840 Bueno, lo primero que vemos es que estamos utilizando geocodificador. geocodificar. 153 00:09:04,840 --> 00:09:06,940 Entonces, ¿qué es eso? 154 00:09:06,940 --> 00:09:10,330 Bueno, si nos fijamos en la parte superior, vemos que tenemos un nuevo 155 00:09:10,330 --> 00:09:13,860 variable global, geocodificador. 156 00:09:13,860 --> 00:09:17,500 Y esto es una referencia mundial a un servicio de geocodificación. 157 00:09:17,500 --> 00:09:19,380 Ahora ¿qué hacer por nosotros? 158 00:09:19,380 --> 00:09:23,810 Pues bien, en el cuadro de entrada, yo voy a ser entrar en algo así como 33 Oxford 159 00:09:23,810 --> 00:09:26,040 Calle de Cambridge, Massachusetts. 160 00:09:26,040 --> 00:09:28,580 Pero en realidad no podemos hacer nada con eso. 161 00:09:28,580 --> 00:09:31,760 Queremos convertir eso a latitud y longitud. 162 00:09:31,760 --> 00:09:34,940 Y eso es lo que el servicio de geocodificación que va a hacer por nosotros. 163 00:09:34,940 --> 00:09:40,630 En la parte inferior de initcb, vemos que tenemos geocodificador es igual a nuevo 164 00:09:40,630 --> 00:09:45,830 google.maps.geocoder que inicializa esta variable para nosotros. 165 00:09:45,830 --> 00:09:47,930 >> Así que volvemos a teletransportarse. 166 00:09:47,930 --> 00:09:51,240 Vemos que estamos usando el geocodificador. 167 00:09:51,240 --> 00:09:54,970 Estamos geocodificación de la dirección de que era pasa a la función de teletransporte que 168 00:09:54,970 --> 00:09:57,450 se agarró de la caja de entrada. 169 00:09:57,450 --> 00:10:02,020 Y estamos pasándolo a una llamada de vuelta que se lleva a resultados y el estado. 170 00:10:02,020 --> 00:10:05,905 Así que lo primero que tenemos que comprobar por el documento de la 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 >> Así que tenemos que comprobar el estado para ver si es devuelto. 174 00:10:11,550 --> 00:10:16,820 google.maps.GeocoderStatus.OK que indica que tenemos un resultado válido. 175 00:10:16,820 --> 00:10:19,310 Si no lo hacemos, entonces tenemos, no se puede hacer. 176 00:10:19,310 --> 00:10:20,990 Esto podría ser una dirección no válida. 177 00:10:20,990 --> 00:10:24,630 O el poder de servicio API estar abajo o quién sabe? 178 00:10:24,630 --> 00:10:29,980 Suponiendo que tenemos un resultado de éxito entonces vamos a agarrar la ubicación desde la 179 00:10:29,980 --> 00:10:30,790 el resultado. 180 00:10:30,790 --> 00:10:34,220 Y vamos a establecer el Google Map en la esquina inferior derecha para ser 181 00:10:34,220 --> 00:10:38,870 centrada en esa ubicación y actualizar el bus en el mapa para esa ubicación. 182 00:10:38,870 --> 00:10:41,620 >> Y ahora tenemos que actualizar el Google Earth Plug-in. 183 00:10:41,620 --> 00:10:45,340 Así que nos ponemos al día la latitud y longitud de la lanzadera. 184 00:10:45,340 --> 00:10:50,570 Y también tenemos que actualizar shuttle.localAnchorCartesian ya que si 185 00:10:50,570 --> 00:10:55,250 nos fijamos en shuttle.js, verás que que también realiza un seguimiento de la latitud 186 00:10:55,250 --> 00:10:56,310 y longitud. 187 00:10:56,310 --> 00:10:59,490 Así que si no actualizamos eso, tenemos la latitud y longitud original, 188 00:10:59,490 --> 00:11:01,330 almacenado escondido en algún lugar. 189 00:11:01,330 --> 00:11:06,490 Así que la actualización que ahora, que llamamos shuttle.updateCamera para actualizar la 190 00:11:06,490 --> 00:11:09,070 defender y para mostrarnos nuestra nueva ubicación. 191 00:11:09,070 --> 00:11:10,380 Y eso es todo. 192 00:11:10,380 --> 00:11:11,500 Mi nombre es Rob. 193 00:11:11,500 --> 00:11:12,750 Y esto fue traslado. 194 00:11:12,750 --> 00:11:18,080