ROB 보덴 : 안녕하세요. 롭 해요. 그리고 당신은 무엇을 선택할 준비가 희망 나는, 이탈 또는 아래로 걸었습니다 또는 지금 당장 시작하자. 우리가 필요로하는 그래서 일단 수행하는 픽업입니다. 이제, 픽업 제거 될 것입니다 구글에서 승객의 아이콘 오른쪽 아래에있는 및지도 의 중심에있는 구글 어스 화면. 그래서 위해 사람들을 제거하는 아이콘은, 우리가 필요 어딘가에 참조. 그러나 현재 채우기 기능 단지 그들을 제거한다. 그래서 우리가 수정해야 할 것입니다 그들 주위를 계속 채 웁니다. 우리가 볼 수 있습니다 지금 우선은 우리 글로벌 승객 배열이있다. 그래서 우리는 세계의를 사용하는 것입니다 채우기 승객의 배열입니다. 채우기에, 우리는 우리가 반복하는 것을 볼 수 승객의 모든 것을. 그리고 생성 된이 루프의 구글 어스에 대한 마크를 배치 구글 맵 마커. 그리고 지금 우리의 수정 채우는 것은 여기에있다. 그래서 우리는 '우리의 승객에 추가하는 배열을 유지하고이 객체 마커 및 장소 표시 주위에 우리 단지 집과 함께 만들어 승객의 이름입니다. 그래서 채우기 위해 그것을이다. 이제 우리는 데리러 볼 필요가있다. 그래서 주워, 우리는 다시 한 번거야 우리의 모든 승객을 반복. 하지만 지금은 우리의 세계의 승객의 배열입니다. 그리고 여기에 우리는, 그 잘했습니다보고있다 우리는 이미이 승객을 태워? 이후 우리는 이것을 포착 한 경우 승객, 우리는 결국 볼이 우리는 마커를 설정할 예정입니다 그들은 더에 있기 때문에 null로 장소 표시 구글지도에서 이상. 우리는 이미이를 데리러 그렇다면 승객 우리는 단지거야 다음 승객을 계속합니다. 그렇지 않으면, 우리는 확인이있는 경우 승객의 집의 내부 집의 배열입니다. 이것은 우리가 확인해야 확인하는 것입니다 우리는 신입생을 선택하지 않는 것이 사양은 말합니다. 그래서 승객은 신입생 인 경우, 우리는 갈거야 다음 승객을 계속합니다. 우리는이 것을 확인 한 후에 승객은 우리가 들어도 되겠다 우리는 지금 위도를 확인하는 것입니다 와 승객의 경도 및 참조 그 15 피트 이내의 경우 셔틀. 그런 경우, 우리가 실제로 원하는 이 승객을 데리러. 그래서 우리의 모든 좌석에 통합 우리의 셔틀에서 볼을 찾고있는 경우 가능한 자리가있다 승객. 좌석 중 하나가 null의 경우, 즉, 사용 가능한 자리입니다. 그래서 우리는 좌석에 승객을 추가합니다. 우리는 우리가 집어 기억 승객 결국, 우리가 할 수 있도록 발표하면 우리는 실제로 사람을 선택하지 않았다. 우리는 우리가이 장착 기억 승객 이후 우리가 얻을 관리하는 경우 없이 전체 셔틀 버스를 통해 승객 좌석, 우리는 필요 우리는 좌석이 떨어 ​​졌다고 발표. 그 다음 우리는 자신의 자리를 제거 구글 어스에서 표시합니다. 우리는 구글지도에서 자신의 마커를 제거, 승객의 내 설정 ' 배열 위치 표시 마커 우리가 전에 말했듯이 null로. 그리고 그것 뿐이다. 승객이 앉아있다. 우리는 모든 승객을 위해 그 일을 한 후에 15 피트 이내 셔틀, 우리는 rechart해야합니다. 그래서 차트 표시 무슨이다 여기에 좌석에 승객. 그래서 지금의 차트를 살펴 보자. 차트의 안쪽에, 우리가 될 것입니다 차트의 HTML을 구성. 그래서 차트는 것입니다 정렬 된 목록이 될. 그 다음 우리는 모든 반복합니다 우리의 셔틀 버스의 좌석. 이 특별한 자리가 null이 경우, 그 우리는 목록의 항목을 원하는 것을 의미 그것은 빈 쉽게 나타냅니다. null가 아닌 경우 다른, 우리는 원하는 표시 할 것입니다 목록 항목 승객의 이름과 승객의 집 즉,이 자리에 있습니다. 우리는에 반복 한 후에 좌석 우리는 우리의 정렬 된 목록을 닫습니다 및 차트 사업부를 선택하는 jQuery를 사용 그것은 우리의 새로운과 HTML의 대체 목록을 명령했다. 그리고 그 그림을 위해이다. 그래서 마지막 것은 내려합니다. 이제 내려하면 될 것입니다 픽업 꽤 유사. 대신 모든 통해 루핑 승객, 우리는 반복 할거야 셔틀의 모든 좌석. 그래서 셔틀 버스 좌석에 대한 반복, 우리 볼이 특정 셔틀 좌석입니다 거기에 어떤 경우에는, null가 아닌 이 좌석의 승객. 그런 경우, 우리는 원하는 위도를 잡고하기 이 승객의 경도. 그래서 집의 배열을 사용하여, 우리는거야 의 집에 잡아 가고 이 자리에있는 승객 다음 잡아 특정 집의 위도 마찬가지로 경도에 대한. 이제, 우리는 다시 한 번 볼 거리를 사용 그 집에서 우리 30 피트 이내입니다. 그런 경우, 그들은 설정하려면 null로이 자리, 이후 승객 떨어 뜨리고, 및 증가이었다 승객이 떨어져 떨어졌다. 그 때문에 결국 아무도 없었다 경우 떨어 뜨리고, 우리는 발표가 아무도 없습니다 여기에서 내려 드릴 수 있습니다 싶어. 마지막으로, 우리는 그래서 rechart 필요 우리는 새로운, 빈 좌석을 표시합니다. 당신은 이제 구현해야 몇 가지 추가 기능을 제공합니다. 지금, 많은 당신이 수의 에서 선택했습니다. 그러나 우리의 경우에 우리는 순간 이동을 구현, 비행, 최대 속도, 그리고 아래로 과속. 그래서 그 살펴 보자. 먼저,를 살펴 보자 최대 속도 기능. 그래서 우리의 경우, 키 입력에 우리가 이미 처리하는 기능, 이러한 모든 키는, 우리는거야 X 우리가 지정 Z. 인식 이러한 문자에가는 것을 셔틀의 속도에 원인 증가 및 감소. 그래서 우리는 방법에 대한 바인딩을 넣어 것을 알 수 높은 방법 낮은 속도 수에 우리가 원하는하지 않기 때문에 실제로 이동 셔틀 버스가 너무 빨리합니다. 그리고 우리는 또한 셔틀의 원하지 않는 제로 또는 아마도에 가서 속도 될 것이다에도 부정적인 어떤 이상한 행동. 그리고 그 속도 위반을 위해의 위아래로 둔화. 이제 비행에 대해 살펴 보겠습니다. 그래서 기억이 나는 기능 코나미 코드를 입력해야합니다. 그래서 상단까지, 우리는 우리가 일부를 가지고 참조 전역 변수, 코나미 코드하는 것입니다 단지를 추적하는 것 배열 에 입력해야 할 키 코나미 코드입니다. 단지를 나타내는 부울이있다 코나미 코드가 이미 있는지 여부 입력 한. 그리고 인덱스에있다 코나미 코드 배열이 우리는에서 현재입니다. 따라서 사용자가 이미 세 가지를 입력 한 경우 코나미 코드 문자 다음 인덱스를 가리키는 것입니다 배열 네번째 것은, 세 번째 인덱스입니다. 그것을 사용하여, 다시 한 번 우리는거야 키 스트로크 (keystroke)를 봐주세요. 그리고 키 스트로크 (keystroke)에 우리는 여기에서 참조하는 경우 코나미 코드가 이미되지 않았습니다 입력, 우리는보고 싶은입니다 키가 우리가 왜 왔는지 입력 된 현재에서 기대 코나미 코드의 배열입니다. 이 사건의 경우, 우리는 우리의 인덱스를 증가. 만약 사용자 유형은 최대 다음 인덱스 하나에 갈 것입니다. 그런 다음 사용자가 다시 입력합니다, 지수는 두 가지로 이동합니다. 그리고 그들은 아래로 입력합니다, 그것은 세 가지로 이동합니다. 그들은 Q를 입력하면, 그것은으로 재설정합니다 일치하지 않았기 때문에 제로 기대 값. 지금, 그들은 통해 얻을 관리하는 경우 전체 배열은 그들이 입력 한 코나미 코드입니다. 이 경우, 현재 코나미는 입력 한 사실, 우리는 여기 아래를 참조하는 경우 코나미가 입력 된, 우리는 두 가지 새로운에 동의 키, C와 E 어느 모든 사람이 할 것 설정 아래 비행과 비행 셔틀 위쪽 상태. 아직 당신을 위해 존재합니다. 당신은 취할 필요 그들의 장점. 그리고 비행을 위해이다. 마지막으로, 우리는 텔레있다. 그래서 HTML 내부에, 우리는 볼 우리는 입력 상자를 추가했습니다 버튼을 텔레포트. 박스 ID는 주소 및 버튼을 가지고 ID 텔레 버튼이 있습니다. 이제 하나의 성가신 작은 세부 사항입니다 우리는 이벤트와 작업을 수행하지 않는 경우 핸들러 우리는 입력 할 때 입력 상자에 같은, 대신 실제로, 우리의 구글을 묶는 지구로 이동하는 것입니다 이미 등록되어 있기 때문에 왼쪽 왼쪽으로 이동 처리합니다. 그래서 여기에 성가신 세부 사항입니다 우리는 아래로 키 또는 키를 백업이있을 때 입력 상자의 내부 이벤트는, 우리가 원하는 전파를 event.stop 할 수 있습니다 다만 방지하는 것 셔틀의 슬라이딩. 그가 처리하고 나면, 우리는 또한 추가 할 텔레 버튼 핸들러. 우리는 텔레포트 버튼을 클릭하면, 우리 전류 어드레스를 잡아 입력 상자의 값, 다음 우리는이 순간 이동 함수를 호출합니다. 그래서 순간 이동은 무엇을합니까 함수처럼? 글쎄, 우리가 보는 첫 번째 것은 우리가있어입니다 지오 코더를 사용하여. 지오 코딩. 그래서 무엇입니까? 글쎄, 우리는 상단에 보면, 우리는 우리가 새를 볼 전역 변수, 지오 코더. 그리고 이것은 글로벌 참조입니다 지오 코딩 서비스. 이제 우리를 위해 무엇을 하는가? 음, 입력 상자에, 나는 될거야 33 옥스퍼드 같은 것을 입력 거리 케임브리지, 매사추세츠. 하지만 우리가 정말 할 수 없습니다 그 무엇이든. 우리는 해당를 변환 할 위도와 경도. 그리고 무엇 지오 코딩 서비스 인데요, 우리를 위해 할 것입니다. initcb의 맨 아래에, 우리는 볼 우리는 지오 코더가 새로운 같음이 google.maps.geocoder하는 초기화 우리를 위해이 변수. 그래서 순간 이동 백업 할 수 있습니다. 우리는 우리가 지오 코더를 사용하는 참조하십시오. 우리는 한 주소를 지오 코딩하고 텔레포트 함수에 전달되는 입력 상자에서 잡고 있었다. 그리고 우리는 다시에게 전화를 전달하고 결과 및 상태를 취한다. 우리가 당 검사 할 필요가 그래서 일단 google.maps의 API 문서. GeocodingService. 지도 그래서 우리는 상태를 확인해야합니다 그것이 돌려 보내는 경우에 볼 수 있습니다. google.maps.GeocoderStatus.OK하는 우리는 유효한 결과를 나타냅니다. 우리는, 우리가 얻을 수없는 경우, 더 할 수 없다. 이것은 잘못된 주소 일 수 있습니다. 또는 API 서비스의 힘 중단되었거나 누가 알아? 우리가 다음 성공의 결과가 가정 우리의 위치를​​ 잡아거야 결과. 그리고 우리는 구글 맵을 설정하는거야 될 수있는 오른쪽 하단 모서리에있는 그 위치를 중심으로하고 업데이트 그 위치를지도 상에 버스. 그리고 지금 우리는 업데이트해야 구글 어스 플러그인합니다. 그래서 우리는 위도를 업데이트하고 셔틀의 경도. 그리고 우리는 또한 업데이트해야 shuttle.localAnchorCartesian 경우 이후 당신이 shuttle.js 보면, 당신은 것을 볼 수 있습니다 그 또한 위도를 추적 와 경도. 우리가 업데이트되지 않습니다 그래서, 우리는이 원래의 위도와 경도 저장 어딘가에 숨겨져 있습니다. 그래서 지금, 우리가 호출하는 것이 업데이트 shuttle.updateCamera는 새로 고침 화면이 우리에게 우리의 새로운 위치를 보여줍니다. 그리고 바로 그거야. 내 이름은 롭입니다. 그리고 이것은 셔틀 버스 운행했다.