>> ROB BOWDEN: Oi
Estou Rob.
E eu espero que estea listo para incorporarse o que Estou caendo fóra ou poñer para abaixo,
ou imos comezar.
Entón o primeiro que necesitamos que facer é pegar.
Agora, incorporarse será a eliminación do Iconas dos pasaxeiros de Google
mapear, na parte inferior dereita e de Google Earth no centro da
a pantalla.
Polo tanto, a fin de eliminar os iconas, necesitamos ter a
referencias a eles en algún lugar.
Pero actualmente, a función Encher só se librar deles.
Entón nós imos ter que modificar cubrir para mantelos por preto.
>> Agora primeiro que veremos é que nós ten unha matriz de pasaxeiros global.
E así nós imos usar iso é globais pasaxeiros array en cubrir.
En Encher vemos que estamos looping sobre todos os nosos pasaxeiros.
E é este ciclo que está creando o poña marca a Google Earth eo
marcador ao mapa de Google.
E agora a nosa modificación para cubrir é estar aquí.
Entón, nós estamos engadindo aos nosos pasaxeiros " disposición deste obxecto que está mantendo
a volta ao marcador e poñer marca que acabamos de creado xunto coa casa e
nome do pasaxeiro.
>> Entón é iso para cubrir.
Agora, necesitamos mirar o traslado.
Así, en incorporarse, imos unha vez máis para iterado sobre os nosos pasaxeiros.
Pero agora é a nosa mundial matriz de pasaxeiros.
E aquí estamos a ver moi ben, teñen xa peguei ese pasaxeiro?
Sempre que teñamos peguei ese pasaxeiro, vemos que ao final
imos definir o marcador e lugar marca como nulo, xa que non somos
xa no mapa de Google.
>> Entón, se nós xa peguei ese de pasaxeiros, a continuación, nós só estamos indo a
continúe ao seguinte pasaxeiro.
Senón, imos comprobar a ver se este casa de pasaxeiros está dentro da
disposición da casa.
Esta é a comprobación de que necesitamos para ter seguro que non incorporarse o calouro como
especificación di.
Entón, se o pasaxeiro é un calouro, imos
continúe ao seguinte pasaxeiro.
>> Unha vez que teñamos Comprobarase que se trata dun pasaxeiro debemos estar pegando,
imos agora comprobar a latitude e lonxitude do pasaxeiro para ver
se isto é dentro de 15 pés do autobús.
En tal caso, queremos realmente para incorporarse este pasaxeiro.
Entón, nós integramos sobre todos os asentos na nosa bus mirando a ver se
hai un lugar dispoñíbel para o pasaxeiro.
Un dos asentos é nulo, iso é un lugar dispoñible.
Entón, nós engadimos o pasaxeiro do asento.
Lembramo connosco de que colleu o de pasaxeiros, de xeito que, ao final, o que pudermos
anunciar si realmente non incorporarse calquera superior.
Recordamos que esta sentado pasaxeiro, pois se logramos
a través de todo o transporte, sen asento do pasaxeiro, así necesitamos
anunciar que estamos fóra de asentos.
>> Entón, elimina o seu lugar marcar dende Google Earth.
Nós eliminamos seu marcador de Google Maps, definido dentro dos nosos pasaxeiros "
marca lugar array e etiqueta como nulo, como dixemos antes.
E entón é iso.
O pasaxeiro foi asentado.
Xa que teña feito isto para todos os pasaxeiros dentro de 15 pés do
shuttle, necesitamos rechart.
>> Entón Chart é o que vai amosar o pasaxeiros nos asentos máis aquí.
Entón, agora, imos ollar para o gráfico.
Dentro Gráfico, seremos construción do HTML para a gráfica.
Así, o gráfico vai ser unha lista ordenada.
Entón imos iterado sobre todo asentos no noso autobús.
Polo tanto, se ese lugar específico é nulo, que significa que queremos un elemento da lista que
indica que é un doado baleiro.
Outra cousa, se non fose nulo, entón queremos un elemento da lista que vai amosar
o nome do pasaxeiro, e a casa do pasaxeiro
que está neste lugar.
>> Unha vez que teñamos iterado sobre toda a asentos entón pechamos a nosa lista ordenada
e utilizar jQuery para seleccionar o div gráfico e substitúe-lo é HTML co noso novo
lista ordenada.
E iso é todo para Chart.
>> Entón última cousa é caer.
Agora caer será moi semellante a incorporarse.
No canto de facer loop para todo o pasaxeiros, imos varrer
todos os asentos do autobús.
Entón looping en asentos do autobús, nós ver é este asento de transporte especial
non nulo, caso en que non hai un pasaxeiro neste lugar.
En tal caso, queremos para incorporarse á latitude e
lonxitude deste pasaxeiro.
>> Entón, usando conxunto da casa, somos vai pegar a casa do
pasaxeiros neste lugar e, a continuación, pegar o latitude daquela casa particular
e de xeito similar á lonxitude.
Agora, unha vez máis, utilizar a distancia para ver naquela casa é dentro de 30 pés de nós.
En tal caso, queren establecer este asento como nulo, xa que o pasaxeiro
se deixou, e incremento que un pasaxeiro foi abandonado.
De xeito que, ao final, se non había ninguén caeu fóra, anunciamos que ninguén
quere deixar aquí.
>> Por último, cómpre rechart para que exibimos novas, lugares baleiros.
Agora, só precisa aplicar algúns recursos extra.
Agora, non hai moito que podería escoller a partir.
Pero no noso caso nós Implementar teletransporte, voando, e acelerando, e
apresura-se a continuación.
Entón, imos ollar para aqueles.
En primeiro lugar, imos dar un ollo en a función de aceleración.
Entón, no noso caso, o keystroke función, onde xa está lidando
todas estas claves, imos tamén para recoñecer X e Z. O que especificamos
que estes personaxes van causar a velocidade do transporte para
aumentar e diminuír.
>> Entón, teña en conta que poñemos un límite de quão de alto e de como unha baixa velocidade pode
realmente ir sempre que non queremos o autobús para ser moi rápido.
E nós tampouco queremos que o transporte de velocidade para ir a cero ou, finalmente,
mesmo negativo o que resultará nalgún comportamento estraño.
E iso por exceso de velocidade e abrandar.
>> Agora, imos dar un ollo ao voo.
Entón lembre de que o recurso a voar require que escriba o Código Konami.
Entón, na parte superior, vemos que temos algunhas variables globais, Código Konami que é
unha matriz que só está mantendo o control do chaves que deben ser introducidos para
Código Konami.
Hai un bool que indica O Código Konami xa ten
foi inserida.
E despois hai o índice en a matriz Código Konami que
estamos actualmente.
>> Polo tanto, se o usuario xa entrou tres caracteres do Código Konami
entón o índice vai ligar a A cuarta cousa na matriz, o
terceiro índice.
Usando isto, unha vez máis, nós imos mirar curso chave.
E no curso clave que vemos aquí que, se Código Konami aínda non foi
entrou, entón nós queremos ver é o clave que se ingresaran o que estamos
actualmente á espera de a matriz Código Konami.
En tal caso, entón incrementamos noso índice.
>> Se o usuario inserir índice anterior, logo está indo a ir a un.
A continuación, o usuario pode escribir de novo, o índice vai para dous.
A continuación, eles van escribir para abaixo, vai para tres.
No caso de que tipo Q, que vai restablecer o zerar xa que non se atoparon
a esperanza.
Agora, se eles conseguen pasar o matriz enteira, a continuación, eles entraron na
Código Konami.
En cal caso, agora que a Konami entrou é certo, vemos aquí que, se
A Konami foi inscrito, aceptamos dous novos chaves, D e E. Que todos os que van facer
é establecer o voando baixo e voar estados superior do autobús.
Así, xa existen para ti.
Só ten que tomar proveito deles.
E iso é para voar.
>> Por último, temos teletransportar.
Entón, dentro do HTML, vemos que nós engadimos unha caixa de entrada e unha
botón teletransportar.
A caixa ten enderezo ID, eo botón ten un botón de teletransporte ID.
Agora un pouco aburrido detalle é que se non se fai nada con evento
manipuladores entón cando tentamos escribir Algo así como un para a caixa de entrada,
no canto de realmente amarre A, o noso Google Terra pasará ao
A esquerda sempre xa está rexistrado para xestionar movemento cara á esquerda.
>> Así, o detalle irritante aquí é que cando temos unha tecla para abaixo ou tecla para arriba
evento dentro da caixa de entrada, queremos para event.stop propagación que é
só vai impedir que o deslizante do shuttle.
Xa que é tratado, tamén quere engadir un manipulador para o botón de teletransporte.
Cando prememos o botón de teletransporte, nós coller o enderezo, o cal é o actual
valor na caixa de entrada e, a continuación, chamamos esta función de teletransporte.
>> Entón, o que fai o teletransporte función parécese?
Ben, o primeiro que vemos é que estamos usar geocoder. geocode.
Entón o que é iso?
Ben, se miramos a arriba, vemos que temos un novo
variable global, geocoder.
E esta é unha referencia mundial a un servizo de geocodificação.
Agora o que iso fai para nós?
Ben, en caixa de entrada, eu vou ser entrar algo así como 33 Oxford
Street Cambridge, Massachusetts.
Pero nós realmente non pode facer nada con iso.
Queremos converter isto para latitude e lonxitude.
E iso é o que o servizo de geocodificação vai facer por nós.
Na parte inferior da initcb vemos que temos geocoder é igual a nova
google.maps.geocoder que arrinque esta variable para nós.
>> Entón, volver para teleportar.
Vemos que estamos usando o geocoder.
Estamos geocodificação o enderezo que se pasado para a función de teletransporte que
foi agarrado a partir da bandexa de entrada.
E nós estamos pasando unha chamada de volta que leva resultados e estado.
Entón o primeiro que necesitamos comprobar por o documento API de google.maps.
GeocodingService.
Mapas
>> Entón, temos que comprobar o estado para ver se volveu.
google.maps.GeocoderStatus.OK que indica que temos un resultado válido.
Se non, entón nós comezamos, non podemos facer.
Isto pode ser un enderezo válido.
Ou o poder servizo API ser baixo ou quen sabe?
Supoñendo que temos un resultado de éxito, a continuación, imos pegar a localización de
o resultado.
E nós estamos indo a definir o mapa de Google na parte inferior dereita de ser
centrada naquel local e actualizar o autobús no mapa para este local.
>> E agora temos que actualizar o O plugin de Google Earth.
Entón, nós actualizamos a latitude e lonxitude da nave.
E nós tamén necesitamos actualizar shuttle.localAnchorCartesian desde
mira para shuttle.js, vai ver que que tamén mantén o control de latitude
e lonxitude.
Entón, se non actualizar isto, temos a latitude e lonxitude de inicio
almacenada escondido en algún lugar.
Así, a actualización que agora, chamamos shuttle.updateCamera para actualizar a
pantalla e nos amosar o noso novo local.
E é iso.
O meu nome é Rob.
E esta era Shuttle.