1 00:00:00,000 --> 00:00:11,712 2 00:00:11,712 --> 00:00:12,850 >> ROB BOWDEN:你好。 3 00:00:12,850 --> 00:00:13,780 我搶。 4 00:00:13,780 --> 00:00:19,500 我希望你準備好拿起什麼 我掉下或放下, 5 00:00:19,500 --> 00:00:22,230 還是讓我們開始吧。 6 00:00:22,230 --> 00:00:25,040 我們需要這樣的第一件事 要做的就是拿起。 7 00:00:25,040 --> 00:00:29,370 現在,拿起將被移除 從谷歌乘客的圖標 8 00:00:29,370 --> 00:00:32,759 在地圖右下角,並從 在谷歌地球中的中心 9 00:00:32,759 --> 00:00:33,970 在屏幕上。 10 00:00:33,970 --> 00:00:37,180 因此,為了消除這些 圖標,我們需要有 11 00:00:37,180 --> 00:00:39,040 他們引用的地方。 12 00:00:39,040 --> 00:00:43,680 但目前,該填充功能 剛剛擺脫他們。 13 00:00:43,680 --> 00:00:48,140 因此,我們將不得不修改 填充,以保持他們周圍。 14 00:00:48,140 --> 00:00:53,440 >> 我們現在看到的第一件事情是,我們 有一個全球性的乘客陣列。 15 00:00:53,440 --> 00:00:57,710 所以我們要使用全球的 乘客數組中填充。 16 00:00:57,710 --> 00:01:03,230 在填充,我們看到,我們正在循環 在我們所有的乘客。 17 00:01:03,230 --> 00:01:10,420 而正是這種循環的建立 放置標誌為谷歌地球和 18 00:01:10,420 --> 00:01:12,540 標記為谷歌地圖。 19 00:01:12,540 --> 00:01:16,420 所以現在我們修改 填充是到這裡來。 20 00:01:16,420 --> 00:01:21,760 因此,我們要添加到我們的乘客 這個數組對象,是保持 21 00:01:21,760 --> 00:01:26,480 周圍的標記和標記的地方,我們只是 隨著房子和創建 22 00:01:26,480 --> 00:01:28,460 乘客的名字。 23 00:01:28,460 --> 00:01:30,560 >> 所以這是它的填充。 24 00:01:30,560 --> 00:01:33,210 現在,我們需要看看回升。 25 00:01:33,210 --> 00:01:38,540 所以在回暖,我們再次去 遍歷所有的乘客。 26 00:01:38,540 --> 00:01:41,340 但現在它是我們全球 乘客陣列。 27 00:01:41,340 --> 00:01:46,150 在這裡,我們所看到的那麼好,也 我們已經拿起這乘客? 28 00:01:46,150 --> 00:01:50,030 因為如果我們拿起這 乘客,我們到底看到, 29 00:01:50,030 --> 00:01:55,240 我們要設置標記和 地點標記為null,因為他們沒有 30 00:01:55,240 --> 00:01:56,930 在谷歌地圖更長。 31 00:01:56,930 --> 00:02:00,920 >> 所以,如果我們已經拿起這 乘客那麼我們只是要 32 00:02:00,920 --> 00:02:02,920 繼續下一個乘客。 33 00:02:02,920 --> 00:02:07,380 否則,我們檢查,看是否能 乘客的房子裡面 34 00:02:07,380 --> 00:02:08,590 房子的數組。 35 00:02:08,590 --> 00:02:11,900 這是我們需要確保檢查 我們不拿起作為大一 36 00:02:11,900 --> 00:02:13,180 規範說。 37 00:02:13,180 --> 00:02:15,920 因此,如果乘客是一個新生, 我們要 38 00:02:15,920 --> 00:02:18,190 繼續下一個乘客。 39 00:02:18,190 --> 00:02:21,720 >> 一旦我們確認,這是一個 乘客我們應該拿起, 40 00:02:21,720 --> 00:02:25,340 我們現在要檢查的緯度 和乘客的經度和看 41 00:02:25,340 --> 00:02:27,760 如果這是15英尺範圍內 的班車。 42 00:02:27,760 --> 00:02:31,720 如果是這樣的話,我們其實是想 拿起這個乘客。 43 00:02:31,720 --> 00:02:35,890 所以,我們整合了所有的座位 我們穿梭尋找,看是否 44 00:02:35,890 --> 00:02:38,110 有可用的點 對於乘客。 45 00:02:38,110 --> 00:02:41,540 如果一個座位是空, 這是一個備有現貨。 46 00:02:41,540 --> 00:02:45,140 因此,我們的乘客加入到座位上。 47 00:02:45,140 --> 00:02:48,760 我們記得,我們​​拿起 乘客因此,在年底,我們可以 48 00:02:48,760 --> 00:02:52,450 宣布如果我們真的 沒有接任何人了。 49 00:02:52,450 --> 00:02:56,140 我們記得,我們​​坐在這 乘客因為如果我們設法讓 50 00:02:56,140 --> 00:02:59,320 通過不整班車 座位的乘客,那麼我們就需要 51 00:02:59,320 --> 00:03:00,885 宣布,我們出門在外的席位。 52 00:03:00,885 --> 00:03:03,760 53 00:03:03,760 --> 00:03:06,885 >> 然後我們會刪除自己的位置 從谷歌地球標記。 54 00:03:06,885 --> 00:03:11,310 我們從谷歌地圖中刪除自己的標記, 我們的乘客裡面設置' 55 00:03:11,310 --> 00:03:14,830 數組的地方標記和標記 為null,因為我們之前所說的。 56 00:03:14,830 --> 00:03:16,035 然後就是這樣。 57 00:03:16,035 --> 00:03:17,050 該乘客已就位。 58 00:03:17,050 --> 00:03:19,570 一旦我們做到了這一點為所有乘客 15英尺範圍內的 59 00:03:19,570 --> 00:03:23,250 班車,我們需要rechart。 60 00:03:23,250 --> 00:03:30,270 >> 所以,圖的是什麼事情,以顯示 乘客座位在這裡。 61 00:03:30,270 --> 00:03:32,760 所以,現在,讓我們來看看圖表。 62 00:03:32,760 --> 00:03:37,960 圖裡面的,我們要成為 構造的HTML圖表。 63 00:03:37,960 --> 00:03:41,160 因此圖表是要 是一個有序列表。 64 00:03:41,160 --> 00:03:44,300 然後,我們將遍歷所有的 該席位在我們的班車。 65 00:03:44,300 --> 00:03:48,450 因此,如果這個特定的座位是空,即 意味著我們想要一個列表項 66 00:03:48,450 --> 00:03:50,800 表明它是一個空的容易。 67 00:03:50,800 --> 00:03:55,650 否則,如果它不為null,那麼我們希望 一個列表項,是要顯示 68 00:03:55,650 --> 00:03:58,660 乘客的姓名和 乘客的房子 69 00:03:58,660 --> 00:04:00,420 這是在這個位子。 70 00:04:00,420 --> 00:04:04,620 >> 一旦我們遍歷所有的 座椅那麼我們閉上了我們的有序列表 71 00:04:04,620 --> 00:04:09,410 並使用jQuery選擇圖表的div 和替換它的HTML與我們的新 72 00:04:09,410 --> 00:04:10,550 有序列表。 73 00:04:10,550 --> 00:04:12,090 就是這樣的圖表。 74 00:04:12,090 --> 00:04:15,170 >> 所以最後一件事是落。 75 00:04:15,170 --> 00:04:20,860 現在,落將是 非常相似的回升。 76 00:04:20,860 --> 00:04:24,150 而不是遍歷所有的 乘客,我們要遍歷 77 00:04:24,150 --> 00:04:25,780 所有的班車座位。 78 00:04:25,780 --> 00:04:29,720 因此,在循環穿梭席位,我們 看到的是這個特定的班車座位 79 00:04:29,720 --> 00:04:32,850 不為null,在這種情況下,有 乘客在這個位子。 80 00:04:32,850 --> 00:04:35,380 如果是這樣的話,我們希望 搶緯度和 81 00:04:35,380 --> 00:04:37,030 東經這個乘客。 82 00:04:37,030 --> 00:04:42,110 >> 因此,使用房子的數組,我們 要搶的房子 83 00:04:42,110 --> 00:04:46,990 乘客在這個位子,然後搶 該特定房屋的緯度 84 00:04:46,990 --> 00:04:49,070 同樣的經度。 85 00:04:49,070 --> 00:04:54,270 現在,我們再次用距離來看看 在那所房子是30英尺內我們。 86 00:04:54,270 --> 00:04:58,320 如果是這樣的話,他們想要設定 這個座位為null,因為乘客 87 00:04:58,320 --> 00:05:01,760 被取消了,並且增量, 一名乘客下車。 88 00:05:01,760 --> 00:05:05,910 因此,在年底,如果沒有人 下車,我們宣布,任何人 89 00:05:05,910 --> 00:05:07,600 要在這裡下車。 90 00:05:07,600 --> 00:05:12,510 >> 最後,我們需要rechart使 我們展示新的空座位。 91 00:05:12,510 --> 00:05:15,770 現在,你只需要實現 一些額外的功能。 92 00:05:15,770 --> 00:05:17,680 現在,有很多你可以 從選擇。 93 00:05:17,680 --> 00:05:21,630 但在我們的例子中,我們實施的瞬移, 飛行,並加快和 94 00:05:21,630 --> 00:05:22,770 加快了。 95 00:05:22,770 --> 00:05:25,100 因此,讓我們來看看這些。 96 00:05:25,100 --> 00:05:27,830 首先,讓我們來看看 在加快功能。 97 00:05:27,830 --> 00:05:32,720 所以在我們的情況下,在擊鍵 功能,在這裡我們已經處理 98 00:05:32,720 --> 00:05:39,900 所有這些鍵的,我們也要去 認識X和哪些我們指定Z。 99 00:05:39,900 --> 00:05:43,720 這些字符要 導致航天飛機的速度,以 100 00:05:43,720 --> 00:05:46,530 增加和減少。 101 00:05:46,530 --> 00:05:50,940 >> 所以請注意,我們把一個綁定就如何 高,如何低的速度可 102 00:05:50,940 --> 00:05:55,030 實際上去,因為我們不希望 航天飛機是太快了。 103 00:05:55,030 --> 00:05:58,180 而且我們也不想航天飛機 速度到零或可能 104 00:05:58,180 --> 00:06:01,480 甚至為負,這將導致 在一些奇怪的行為。 105 00:06:01,480 --> 00:06:03,890 就是這樣超速 時慢了下來。 106 00:06:03,890 --> 00:06:05,980 >> 現在,讓我們來看看飛。 107 00:06:05,980 --> 00:06:11,370 所以請記住,飛功能 要求您輸入科納米代碼。 108 00:06:11,370 --> 00:06:18,070 所以在頂部,我們看到我們有一些 全局變量,科樂美碼是 109 00:06:18,070 --> 00:06:20,975 這只是跟踪的一個數組 需要時,要輸入的鍵 110 00:06:20,975 --> 00:06:22,600 科樂美的代碼。 111 00:06:22,600 --> 00:06:26,340 有一個布爾剛剛表示 科樂美的代碼是否已經 112 00:06:26,340 --> 00:06:27,660 被輸入。 113 00:06:27,660 --> 00:06:30,430 然後還有的索引 科納米代碼數組 114 00:06:30,430 --> 00:06:31,770 我們目前正處在。 115 00:06:31,770 --> 00:06:36,020 >> 因此,如果用戶已經輸入了三個 科納米碼字符 116 00:06:36,020 --> 00:06:40,530 然後索引會指向 在陣列中的第四事情, 117 00:06:40,530 --> 00:06:42,150 第三個指標。 118 00:06:42,150 --> 00:06:44,630 利用這一點,我們再一次會 看擊鍵。 119 00:06:44,630 --> 00:06:48,040 120 00:06:48,040 --> 00:06:51,910 而在關鍵的行程,我們在這裡看到的,如果 科納米代碼已不是 121 00:06:51,910 --> 00:06:58,410 進入,那麼我們希望看到的是 鍵時輸入的內容我們 122 00:06:58,410 --> 00:07:01,250 從目前預期 科納米碼數組。 123 00:07:01,250 --> 00:07:04,350 如果是這樣的話,那麼 我們增加我們的索引。 124 00:07:04,350 --> 00:07:07,660 >> 如果用戶鍵入向上則指數 是要去的。 125 00:07:07,660 --> 00:07:10,280 然後,用戶將輸入了一遍, 索引變為2。 126 00:07:10,280 --> 00:07:12,150 然後,他們會輸入了下來, 它會去到三個。 127 00:07:12,150 --> 00:07:17,320 如果他們輸入Q,它會重置為 零,因為他們不匹配 128 00:07:17,320 --> 00:07:20,140 預期值。 129 00:07:20,140 --> 00:07:24,810 現在,如果他們設法打通 整個數組,那麼他們已經進入了 130 00:07:24,810 --> 00:07:26,280 KONAMI碼。 131 00:07:26,280 --> 00:07:33,960 在這種情況下,現在進入小浪 誠然,我們看到這兒,如果 132 00:07:33,960 --> 00:07:40,460 KONAMI輸入了,我們接受了兩個新的 鍵,C和E,所有這些都行 133 00:07:40,460 --> 00:07:45,800 置的向下飛行和飛行 向上國中穿梭。 134 00:07:45,800 --> 00:07:48,530 所以,已經為你存在。 135 00:07:48,530 --> 00:07:51,190 你只需要採取 利用它們。 136 00:07:51,190 --> 00:07:52,890 這就是它的飛行。 137 00:07:52,890 --> 00:07:54,680 >> 最後,我們已經瞬移。 138 00:07:54,680 --> 00:08:00,710 所以內部的HTML中,我們看到 我們增加了一個輸入框和一個 139 00:08:00,710 --> 00:08:02,270 瞬移按鈕。 140 00:08:02,270 --> 00:08:08,300 該對話框有ID地址,和按鈕 有一個ID瞬移按鈕。 141 00:08:08,300 --> 00:08:13,970 現在是一個惱人的小細節是, 如果我們不與事件做任何事 142 00:08:13,970 --> 00:08:19,210 處理器然後,當我們嘗試鍵入 有點像在輸入框中, 143 00:08:19,210 --> 00:08:25,250 而不是實際平了,我們的谷歌 地球將要移動到 144 00:08:25,250 --> 00:08:30,040 離開因為A已經被註冊 處理移動到左邊。 145 00:08:30,040 --> 00:08:35,100 >> 所以在這裡煩人的細節是, 當我們有一個鍵向下或向上鍵 146 00:08:35,100 --> 00:08:40,789 事件的輸入框裡面,我們要 到event.stop傳播是 147 00:08:40,789 --> 00:08:43,830 只是要防止 滑動穿梭。 148 00:08:43,830 --> 00:08:48,510 一旦這樣處理,我們還需要添加 一個處理程序的瞬移按鈕。 149 00:08:48,510 --> 00:08:52,880 當我們點擊瞬移按鈕,我們 搶地址,這是當前 150 00:08:52,880 --> 00:08:57,580 在輸入框中的值,然後 我們稱這個瞬移功能。 151 00:08:57,580 --> 00:09:00,910 >> 那麼,瞬移 函數是什麼樣子? 152 00:09:00,910 --> 00:09:04,840 好了,我們看到的第一件事情是我們 使用地理編碼器。地理編碼。 153 00:09:04,840 --> 00:09:06,940 所以,那是什麼? 154 00:09:06,940 --> 00:09:10,330 那麼,如果我們頂一下, 我們看到,我們有一個新的 155 00:09:10,330 --> 00:09:13,860 全局變量,地理編碼器。 156 00:09:13,860 --> 00:09:17,500 這是一個全球性的參考 到地理編碼服務。 157 00:09:17,500 --> 00:09:19,380 現在,這是什麼為我們做? 158 00:09:19,380 --> 00:09:23,810 那麼,在輸入框中,我將是 進入像牛津33 159 00:09:23,810 --> 00:09:26,040 街劍橋,馬薩諸塞州。 160 00:09:26,040 --> 00:09:28,580 但是,我們真的不能做 什麼這一點。 161 00:09:28,580 --> 00:09:31,760 我們希望將其轉換成 緯度和經度。 162 00:09:31,760 --> 00:09:34,940 而這正是地理編碼服務 是要為我們做。 163 00:09:34,940 --> 00:09:40,630 在initcb的底部,我們看到 我們有地理編碼等於新 164 00:09:40,630 --> 00:09:45,830 google.maps.geocoder它初始化 這個變量對我們。 165 00:09:45,830 --> 00:09:47,930 >> 做回瞬移。 166 00:09:47,930 --> 00:09:51,240 我們看到,我們正在使用的地理編碼器。 167 00:09:51,240 --> 00:09:54,970 我們在地理編碼的地址是 傳遞給瞬移功能, 168 00:09:54,970 --> 00:09:57,450 從輸入框被抓住了。 169 00:09:57,450 --> 00:10:02,020 我們正在傳遞一個回調 這需要結果和狀態。 170 00:10:02,020 --> 00:10:05,905 我們需要檢查每所以第一件事 google.maps的API文檔。 171 00:10:05,905 --> 00:10:06,130 GeocodingService。 172 00:10:06,130 --> 00:10:08,330 地圖 173 00:10:08,330 --> 00:10:11,550 >> 因此,我們必須檢查狀態 看它是否返回。 174 00:10:11,550 --> 00:10:16,820 google.maps.GeocoderStatus.OK這 表明我們有一個有效的結果。 175 00:10:16,820 --> 00:10:19,310 如果我們不這樣做,那麼我們得到的,沒有做不到的。 176 00:10:19,310 --> 00:10:20,990 這可能是一個無效的地址。 177 00:10:20,990 --> 00:10:24,630 或API服務可能 關閉或誰知道? 178 00:10:24,630 --> 00:10:29,980 假設我們有一個成功的結果,那麼 我們要在搶位置 179 00:10:29,980 --> 00:10:30,790 結果。 180 00:10:30,790 --> 00:10:34,220 而我們要設置的谷歌地圖 在右下角是 181 00:10:34,220 --> 00:10:38,870 集中在該位置,並更新 公交地圖,以該位置上。 182 00:10:38,870 --> 00:10:41,620 >> 現在我們需要更新 谷歌地球插件。 183 00:10:41,620 --> 00:10:45,340 所以我們更新的緯度和 經度穿梭。 184 00:10:45,340 --> 00:10:50,570 而且我們還需要更新 shuttle.localAnchorCartesian因為如果 185 00:10:50,570 --> 00:10:55,250 你看看shuttle.js,你會看到, 這還跟踪緯度 186 00:10:55,250 --> 00:10:56,310 和經度。 187 00:10:56,310 --> 00:10:59,490 所以,如果我們不更新,我們有 原始的緯度和經度 188 00:10:59,490 --> 00:11:01,330 存儲隱藏在某處。 189 00:11:01,330 --> 00:11:06,490 所以更新,現在,我們稱之為 shuttle.updateCamera刷新 190 00:11:06,490 --> 00:11:09,070 篩選並展示我們新的位置。 191 00:11:09,070 --> 00:11:10,380 就是這樣。 192 00:11:10,380 --> 00:11:11,500 我的名字是羅布。 193 00:11:11,500 --> 00:11:12,750 這是班車。 194 00:11:12,750 --> 00:11:18,080