1 00:00:00,000 --> 00:00:11,712 2 00:00:11,712 --> 00:00:12,850 >> ROB BOWDEN: Ciao. 3 00:00:12,850 --> 00:00:13,780 Sono Rob. 4 00:00:13,780 --> 00:00:19,500 E spero che tu sei pronto a raccogliere ciò che Sto cadere o mettere giù, 5 00:00:19,500 --> 00:00:22,230 o cominciamo. 6 00:00:22,230 --> 00:00:25,040 Quindi prima cosa che dobbiamo da fare è prendere. 7 00:00:25,040 --> 00:00:29,370 Ora, pick up sta per essere la rimozione della Icone dei passeggeri dal Google 8 00:00:29,370 --> 00:00:32,759 mappa nell'angolo in basso a destra e dall'alto Google Earth nel centro di 9 00:00:32,759 --> 00:00:33,970 schermo. 10 00:00:33,970 --> 00:00:37,180 Quindi, al fine di rimuovere quelle icone, abbiamo bisogno di avere la 11 00:00:37,180 --> 00:00:39,040 riferimenti a loro da qualche parte. 12 00:00:39,040 --> 00:00:43,680 Ma attualmente, la funzione Popola appena si libera di loro. 13 00:00:43,680 --> 00:00:48,140 Quindi stiamo andando a modificare popolare per tenerli in giro. 14 00:00:48,140 --> 00:00:53,440 >> Ora prima cosa che vediamo è che abbiamo avere una matrice di passeggeri a livello mondiale. 15 00:00:53,440 --> 00:00:57,710 E così stiamo andando a utilizzare che di mondiali passeggeri array in Popola. 16 00:00:57,710 --> 00:01:03,230 In Popola, vediamo che stiamo eseguendo un ciclo su tutti i nostri passeggeri. 17 00:01:03,230 --> 00:01:10,420 Ed è questo ciclo che sta creando l' collocare marchio per Google Earth e il 18 00:01:10,420 --> 00:01:12,540 marker per la Google Map. 19 00:01:12,540 --> 00:01:16,420 E così ora la nostra modifica per popolare è quello di essere qui. 20 00:01:16,420 --> 00:01:21,760 Quindi stiamo aggiungendo ai nostri passeggeri ' matrice di questo oggetto che sta mantenendo 21 00:01:21,760 --> 00:01:26,480 intorno al marchio marcatore e posto che abbiamo appena realizzato insieme alla casa e 22 00:01:26,480 --> 00:01:28,460 nome del passeggero. 23 00:01:28,460 --> 00:01:30,560 >> Ecco, questo è per Popola. 24 00:01:30,560 --> 00:01:33,210 Ora abbiamo bisogno di guardare al Pick Up. 25 00:01:33,210 --> 00:01:38,540 Così in pick up, stiamo ancora una volta andando a iterare su tutti i nostri passeggeri. 26 00:01:38,540 --> 00:01:41,340 Ma adesso è il nostro globale passeggeri array. 27 00:01:41,340 --> 00:01:46,150 E qui stiamo vedendo molto bene, abbiamo abbiamo già preso questa passeggero? 28 00:01:46,150 --> 00:01:50,030 Poiché se abbiamo raccolto questa passeggeri, vediamo alla fine che 29 00:01:50,030 --> 00:01:55,240 stiamo andando a impostare il marcatore e il posto mark to nulla dato che sono non 30 00:01:55,240 --> 00:01:56,930 più a lungo la mappa di Google. 31 00:01:56,930 --> 00:02:00,920 >> Quindi, se abbiamo già raccolto questa passeggero allora stiamo solo andando a 32 00:02:00,920 --> 00:02:02,920 passare alla successiva passeggero. 33 00:02:02,920 --> 00:02:07,380 Altrimenti, controlliamo per vedere se questo casa del passeggero è all'interno del 34 00:02:07,380 --> 00:02:08,590 matrice di casa. 35 00:02:08,590 --> 00:02:11,900 Questo è il controllo che dobbiamo fare in modo che noi non raccogliamo la matricola come 36 00:02:11,900 --> 00:02:13,180 le specifiche dice. 37 00:02:13,180 --> 00:02:15,920 Quindi, se il passeggero è una matricola, stiamo andando a 38 00:02:15,920 --> 00:02:18,190 passare alla successiva passeggero. 39 00:02:18,190 --> 00:02:21,720 >> Una volta che abbiamo verificato che questa è una passeggeri dovremmo essere in ripresa, 40 00:02:21,720 --> 00:02:25,340 ora stiamo andando a controllare la latitudine e longitudine del passeggero e vedere 41 00:02:25,340 --> 00:02:27,760 se è entro 15 piedi della navetta. 42 00:02:27,760 --> 00:02:31,720 Se questo è il caso, vogliamo davvero a prendere questa passeggeri. 43 00:02:31,720 --> 00:02:35,890 Quindi noi integriamo su tutte le sedi nella nostra navetta cercando di vedere se 44 00:02:35,890 --> 00:02:38,110 c'è un posto disponibile per il passeggero. 45 00:02:38,110 --> 00:02:41,540 Se uno dei sedili è nullo, questo è un posto a disposizione. 46 00:02:41,540 --> 00:02:45,140 Così aggiungiamo il passeggero al sedile. 47 00:02:45,140 --> 00:02:48,760 Ricordiamo che abbiamo preso l' passeggeri in modo che, alla fine, possiamo 48 00:02:48,760 --> 00:02:52,450 annunciare se abbiamo effettivamente non prendere nessuno. 49 00:02:52,450 --> 00:02:56,140 Ricordiamo che siamo seduti questa passeggeri poiché se riusciremo a ottenere 50 00:02:56,140 --> 00:02:59,320 attraverso l'intero navetta senza posti a sedere il passeggero, allora dobbiamo 51 00:02:59,320 --> 00:03:00,885 annunciamo che siamo fuori dei seggi. 52 00:03:00,885 --> 00:03:03,760 53 00:03:03,760 --> 00:03:06,885 >> Allora togliamo loro posto segnare da Google Earth. 54 00:03:06,885 --> 00:03:11,310 Togliamo il proprio segnalino da Google Maps, situato all'interno dei nostri passeggeri ' 55 00:03:11,310 --> 00:03:14,830 mark posto array e marcatore null come abbiamo detto prima. 56 00:03:14,830 --> 00:03:16,035 E poi questo è tutto. 57 00:03:16,035 --> 00:03:17,050 Il passeggero è seduto. 58 00:03:17,050 --> 00:03:19,570 Una volta che abbiamo fatto che per tutti i passeggeri entro 15 piedi del 59 00:03:19,570 --> 00:03:23,250 navetta, abbiamo bisogno di rechart. 60 00:03:23,250 --> 00:03:30,270 >> Quindi grafico è quello che sta succedendo per visualizzare il passeggeri dei sedili qui. 61 00:03:30,270 --> 00:03:32,760 Così ora, diamo un'occhiata al grafico. 62 00:03:32,760 --> 00:03:37,960 All'interno del grafico, stiamo andando a essere costruire il codice HTML per il grafico. 63 00:03:37,960 --> 00:03:41,160 Così il grafico sta per essere un elenco ordinato. 64 00:03:41,160 --> 00:03:44,300 Poi ci iterare su tutti i sedili della nostra navetta. 65 00:03:44,300 --> 00:03:48,450 Quindi, se questa sede particolare è nullo, che significa che vogliamo un elemento List che 66 00:03:48,450 --> 00:03:50,800 indica che si tratta di un vuoto facile. 67 00:03:50,800 --> 00:03:55,650 Altrimenti, se non fosse nullo, allora vogliamo un elemento List che sta per visualizzare 68 00:03:55,650 --> 00:03:58,660 il nome del passeggero e la casa del passeggero 69 00:03:58,660 --> 00:04:00,420 che è in questa sede. 70 00:04:00,420 --> 00:04:04,620 >> Una volta che abbiamo iterati su tutto il sedili allora chiudiamo il nostro elenco ordinato 71 00:04:04,620 --> 00:04:09,410 e utilizzare jQuery per selezionare il div tabella e sostituirlo è HTML con il nostro nuovo 72 00:04:09,410 --> 00:04:10,550 elenco ordinato. 73 00:04:10,550 --> 00:04:12,090 E questo è tutto per il grafico. 74 00:04:12,090 --> 00:04:15,170 >> Quindi ultima cosa è drop off. 75 00:04:15,170 --> 00:04:20,860 Ora drop off sta per essere piuttosto simile a salire. 76 00:04:20,860 --> 00:04:24,150 Invece di ciclare su tutte le passeggeri, andremo a ciclare su 77 00:04:24,150 --> 00:04:25,780 tutti i sedili navetta. 78 00:04:25,780 --> 00:04:29,720 Così loop sui sedili navetta, abbiamo vedere è questo particolare sedile navetta 79 00:04:29,720 --> 00:04:32,850 non null, nel qual caso non c'è un passeggero in questa sede. 80 00:04:32,850 --> 00:04:35,380 Se questo è il caso, vogliamo per afferrare la latitudine e 81 00:04:35,380 --> 00:04:37,030 longitudine del passeggero. 82 00:04:37,030 --> 00:04:42,110 >> Quindi, utilizzando matrice della casa, siamo andando a prendere la casa del 83 00:04:42,110 --> 00:04:46,990 passeggeri in questa sede e poi prendete la latitudine di quella particolare casa 84 00:04:46,990 --> 00:04:49,070 e analogamente per longitudine. 85 00:04:49,070 --> 00:04:54,270 Ora, ancora una volta usiamo distanza da vedere in quella casa si trova a 30 metri da noi. 86 00:04:54,270 --> 00:04:58,320 Se questo è il caso, vogliono impostare questa sede null, poiché il passeggero 87 00:04:58,320 --> 00:05:01,760 era caduto fuori, e l'incremento che un passeggero è stato caduto fuori. 88 00:05:01,760 --> 00:05:05,910 Così che alla fine, se nessuno era lasciati, annunciamo che nessuno 89 00:05:05,910 --> 00:05:07,600 vuole essere lasciati qui. 90 00:05:07,600 --> 00:05:12,510 >> Infine, abbiamo bisogno di rechart in modo che visualizziamo nuovi posti vuoti. 91 00:05:12,510 --> 00:05:15,770 Ora, non vi resta che attuare alcune caratteristiche extra. 92 00:05:15,770 --> 00:05:17,680 Ora, non c'è molto che si possa hanno scelto da. 93 00:05:17,680 --> 00:05:21,630 Ma nel nostro caso, abbiamo implementato teletrasporto, volare, e accelerando, e 94 00:05:21,630 --> 00:05:22,770 accelerazione verso il basso. 95 00:05:22,770 --> 00:05:25,100 Quindi diamo un'occhiata a quelli. 96 00:05:25,100 --> 00:05:27,830 Prima di tutto, diamo uno sguardo a l'accelerazione funzione. 97 00:05:27,830 --> 00:05:32,720 Quindi, nel nostro caso, nella battitura funzione, dove stiamo già movimentazione 98 00:05:32,720 --> 00:05:39,900 tutte queste chiavi, stiamo anche andando a riconoscere X e Z. Che specifichiamo 99 00:05:39,900 --> 00:05:43,720 che questi personaggi stanno per causare la velocità della navetta per 100 00:05:43,720 --> 00:05:46,530 aumentare e diminuire. 101 00:05:46,530 --> 00:05:50,940 >> Così notiamo che mettiamo un limite su come elevata e su come un basso la velocità può 102 00:05:50,940 --> 00:05:55,030 effettivamente andare, perché non vogliamo la navetta di essere troppo veloce. 103 00:05:55,030 --> 00:05:58,180 E anche noi non vogliamo che la navetta del velocità per andare a zero o, eventualmente, 104 00:05:58,180 --> 00:06:01,480 addirittura negativo che si tradurrà in qualche strano comportamento. 105 00:06:01,480 --> 00:06:03,890 E questo è tutto per eccesso di velocità e rallentamento. 106 00:06:03,890 --> 00:06:05,980 >> Ora, diamo uno sguardo a volo. 107 00:06:05,980 --> 00:06:11,370 Quindi ricorda che la funzione volante richiede di inserire il codice Konami. 108 00:06:11,370 --> 00:06:18,070 Così, in cima, vediamo che abbiamo un po ' variabili globali, Codice Konami che è 109 00:06:18,070 --> 00:06:20,975 una matrice che è solo tenere traccia del le chiavi che devono essere iscritti per 110 00:06:20,975 --> 00:06:22,600 il Codice Konami. 111 00:06:22,600 --> 00:06:26,340 C'è un Bool che indica solo se il Codice Konami ha già 112 00:06:26,340 --> 00:06:27,660 stato inserito. 113 00:06:27,660 --> 00:06:30,430 E poi c'è l'indice in la matrice Codice Konami che 114 00:06:30,430 --> 00:06:31,770 siamo attualmente. 115 00:06:31,770 --> 00:06:36,020 >> Quindi, se l'utente ha già inserito tre caratteri del codice Konami 116 00:06:36,020 --> 00:06:40,530 allora l'indice sta per puntare a la quarta cosa nella matrice, l' 117 00:06:40,530 --> 00:06:42,150 terzo indice. 118 00:06:42,150 --> 00:06:44,630 Usando che, ancora una volta faremo guardare colpo chiave. 119 00:06:44,630 --> 00:06:48,040 120 00:06:48,040 --> 00:06:51,910 E nel tratto chiave che vediamo qui che se Codice Konami non ha già 121 00:06:51,910 --> 00:06:58,410 entrò, poi vogliamo vedere è la chiave che è stato inserito ciò che siamo 122 00:06:58,410 --> 00:07:01,250 attualmente in attesa di la matrice Codice Konami. 123 00:07:01,250 --> 00:07:04,350 Se questo è il caso, allora incrementiamo il nostro indice. 124 00:07:04,350 --> 00:07:07,660 >> Se l'utente Fino allora indice sta per andare a uno. 125 00:07:07,660 --> 00:07:10,280 Quindi l'utente dovrà digitare di nuovo, l'indice va a due. 126 00:07:10,280 --> 00:07:12,150 Poi faranno tipo basso, andrà a tre. 127 00:07:12,150 --> 00:07:17,320 Se si digita Q, che sarà reimpostato a zero, in quanto non corrisponde 128 00:07:17,320 --> 00:07:20,140 il valore atteso. 129 00:07:20,140 --> 00:07:24,810 Ora, se riescono a ottenere attraverso l' intero array poi ho inserito la 130 00:07:24,810 --> 00:07:26,280 Codice Konami. 131 00:07:26,280 --> 00:07:33,960 In tal caso, ora che Konami inserito È vero, vediamo qui che se 132 00:07:33,960 --> 00:07:40,460 Konami è stata inserita, accettiamo due nuovi chiavi, C ed E. Che tutti coloro che faranno 133 00:07:40,460 --> 00:07:45,800 è impostato il volano verso il basso e volare Stati verso l'alto nella navetta. 134 00:07:45,800 --> 00:07:48,530 Quindi, esistono già per voi. 135 00:07:48,530 --> 00:07:51,190 Hai solo bisogno di prendere vantaggio. 136 00:07:51,190 --> 00:07:52,890 E questo è tutto per il volo. 137 00:07:52,890 --> 00:07:54,680 >> Infine, abbiamo teletrasportarsi. 138 00:07:54,680 --> 00:08:00,710 Così all'interno del HTML, vediamo che abbiamo aggiunto una casella di input e un 139 00:08:00,710 --> 00:08:02,270 pulsante di teletrasportarsi. 140 00:08:02,270 --> 00:08:08,300 La scatola ha indirizzo ID, e il pulsante ha un pulsante di teletrasporto ID. 141 00:08:08,300 --> 00:08:13,970 Ora, una fastidiosa piccolo particolare è che se non facciamo nulla con l'evento 142 00:08:13,970 --> 00:08:19,210 gestori poi quando cerchiamo di scrivere qualcosa come una nella casella di input, 143 00:08:19,210 --> 00:08:25,250 invece di effettivamente legare A, il nostro Google Terra sta per passare al 144 00:08:25,250 --> 00:08:30,040 sinistra poiché A è già registrato per gestire il movimento verso sinistra. 145 00:08:30,040 --> 00:08:35,100 >> Così dettaglio fastidioso ecco che quando abbiamo un tasto premuto o il tasto up 146 00:08:35,100 --> 00:08:40,789 evento all'interno della casella di input, vogliamo a event.stop propagazione che è 147 00:08:40,789 --> 00:08:43,830 solo andando a prevenire l' scorrimento della navetta. 148 00:08:43,830 --> 00:08:48,510 Una volta che è gestita, vogliamo anche aggiungere un gestore per il pulsante di teletrasporto. 149 00:08:48,510 --> 00:08:52,880 Quando si clicca sul pulsante teletrasporto, abbiamo afferrare l'indirizzo, che è la corrente 150 00:08:52,880 --> 00:08:57,580 valore nella casella di input, e quindi chiamiamo questa funzione teletrasporto. 151 00:08:57,580 --> 00:09:00,910 >> Quindi cosa fa il teletrasporto funzione simile? 152 00:09:00,910 --> 00:09:04,840 Beh, la prima cosa che vediamo è che siamo utilizzando geocoding. geocoding. 153 00:09:04,840 --> 00:09:06,940 Così che cosa è questo? 154 00:09:06,940 --> 00:09:10,330 Beh, se guardiamo in alto, vediamo che abbiamo un nuovo 155 00:09:10,330 --> 00:09:13,860 variabile globale, geocoder. 156 00:09:13,860 --> 00:09:17,500 E questo è un riferimento globale a un servizio di geocoding. 157 00:09:17,500 --> 00:09:19,380 Ora, cosa vuol fare per noi? 158 00:09:19,380 --> 00:09:23,810 Ebbene, nella casella di input, ho intenzione di essere entrare qualcosa come 33 Oxford 159 00:09:23,810 --> 00:09:26,040 Street Cambridge, Massachusetts. 160 00:09:26,040 --> 00:09:28,580 Ma non possiamo fare niente con questo. 161 00:09:28,580 --> 00:09:31,760 Vogliamo convertire tale da latitudine e longitudine. 162 00:09:31,760 --> 00:09:34,940 Ed è quello che il servizio di geocoding sta per fare per noi. 163 00:09:34,940 --> 00:09:40,630 In fondo initcb, vediamo che abbiamo geocoder uguale nuova 164 00:09:40,630 --> 00:09:45,830 che inizializza google.maps.geocoder questa variabile per noi. 165 00:09:45,830 --> 00:09:47,930 >> Ma torniamo al teletrasportarsi. 166 00:09:47,930 --> 00:09:51,240 Vediamo stiamo usando il geocoder. 167 00:09:51,240 --> 00:09:54,970 Stiamo geocoding l'indirizzo che è stato passato alla funzione di teletrasporto che 168 00:09:54,970 --> 00:09:57,450 è stato afferrato dalla casella di input. 169 00:09:57,450 --> 00:10:02,020 E stiamo passando una chiamata indietro che prende i risultati e lo stato. 170 00:10:02,020 --> 00:10:05,905 Quindi prima cosa che dobbiamo controllare per il documento API di google.maps. 171 00:10:05,905 --> 00:10:06,130 GeocodingService. 172 00:10:06,130 --> 00:10:08,330 Mappe 173 00:10:08,330 --> 00:10:11,550 >> Quindi dobbiamo verificare lo stato per vedere se è tornato. 174 00:10:11,550 --> 00:10:16,820 google.maps.GeocoderStatus.OK che indica che abbiamo un risultato valido. 175 00:10:16,820 --> 00:10:19,310 Se non lo facciamo, allora otteniamo, non può fare. 176 00:10:19,310 --> 00:10:20,990 Questo potrebbe essere un indirizzo non valido. 177 00:10:20,990 --> 00:10:24,630 O la forza di servizio API sia verso il basso o chi lo sa? 178 00:10:24,630 --> 00:10:29,980 Supponendo che abbiamo un risultato di successo poi stiamo andando a prendere la posizione da 179 00:10:29,980 --> 00:10:30,790 il risultato. 180 00:10:30,790 --> 00:10:34,220 E abbiamo intenzione di impostare la Google Map nell'angolo in basso a destra per essere 181 00:10:34,220 --> 00:10:38,870 centrata in quella posizione e aggiornare il bus sulla mappa per quella posizione. 182 00:10:38,870 --> 00:10:41,620 >> E ora abbiamo bisogno di aggiornare il Plug-in di Google Earth. 183 00:10:41,620 --> 00:10:45,340 Quindi noi aggiorniamo la latitudine e la longitudine della navetta. 184 00:10:45,340 --> 00:10:50,570 E abbiamo anche bisogno di aggiornare shuttle.localAnchorCartesian poiché se 185 00:10:50,570 --> 00:10:55,250 si guarda shuttle.js, vedrete che che tiene anche traccia di latitudine 186 00:10:55,250 --> 00:10:56,310 e la longitudine. 187 00:10:56,310 --> 00:10:59,490 Quindi, se non ci aggiorniamo che, abbiamo l' latitudine e longitudine originale 188 00:10:59,490 --> 00:11:01,330 memorizzato nascosto da qualche parte. 189 00:11:01,330 --> 00:11:06,490 Quindi l'aggiornamento che ora, chiamiamo shuttle.updateCamera per aggiornare l' 190 00:11:06,490 --> 00:11:09,070 schermo e ci mostrano la nostra nuova posizione. 191 00:11:09,070 --> 00:11:10,380 E questo è tutto. 192 00:11:10,380 --> 00:11:11,500 Il mio nome è Rob. 193 00:11:11,500 --> 00:11:12,750 E questo era Shuttle. 194 00:11:12,750 --> 00:11:18,080