ROB BOWDEN:你好。 我搶。 我希望你準備好拿起什麼 我掉下或放下, 還是讓我們開始吧。 我們需要這樣的第一件事 要做的就是拿起。 現在,拿起將被移除 從谷歌乘客的圖標 在地圖右下角,並從 在谷歌地球中的中心 在屏幕上。 因此,為了消除這些 圖標,我們需要有 他們引用的地方。 但目前,該填充功能 剛剛擺脫他們。 因此,我們將不得不修改 填充,以保持他們周圍。 我們現在看到的第一件事情是,我們 有一個全球性的乘客陣列。 所以我們要使用全球的 乘客數組中填充。 在填充,我們看到,我們正在循環 在我們所有的乘客。 而正是這種循環的建立 放置標誌為谷歌地球和 標記為谷歌地圖。 所以現在我們修改 填充是到這裡來。 因此,我們要添加到我們的乘客 這個數組對象,是保持 周圍的標記和標記的地方,我們只是 隨著房子和創建 乘客的名字。 所以這是它的填充。 現在,我們需要看看回升。 所以在回暖,我們再次去 遍歷所有的乘客。 但現在它是我們全球 乘客陣列。 在這裡,我們所看到的那麼好,也 我們已經拿起這乘客? 因為如果我們拿起這 乘客,我們到底看到, 我們要設置標記和 地點標記為null,因為他們沒有 在谷歌地圖更長。 所以,如果我們已經拿起這 乘客那麼我們只是要 繼續下一個乘客。 否則,我們檢查,看是否能 乘客的房子裡面 房子的數組。 這是我們需要確保檢查 我們不拿起作為大一 規範說。 因此,如果乘客是一個新生, 我們要 繼續下一個乘客。 一旦我們確認,這是一個 乘客我們應該拿起, 我們現在要檢查的緯度 和乘客的經度和看 如果這是15英尺範圍內 的班車。 如果是這樣的話,我們其實是想 拿起這個乘客。 所以,我們整合了所有的座位 我們穿梭尋找,看是否 有可用的點 對於乘客。 如果一個座位是空, 這是一個備有現貨。 因此,我們的乘客加入到座位上。 我們記得,我們​​拿起 乘客因此,在年底,我們可以 宣布如果我們真的 沒有接任何人了。 我們記得,我們​​坐在這 乘客因為如果我們設法讓 通過不整班車 座位的乘客,那麼我們就需要 宣布,我們出門在外的席位。 然後我們會刪除自己的位置 從谷歌地球標記。 我們從谷歌地圖中刪除自己的標記, 我們的乘客裡面設置' 數組的地方標記和標記 為null,因為我們之前所說的。 然後就是這樣。 該乘客已就位。 一旦我們做到了這一點為所有乘客 15英尺範圍內的 班車,我們需要rechart。 所以,圖的是什麼事情,以顯示 乘客座位在這裡。 所以,現在,讓我們來看看圖表。 圖裡面的,我們要成為 構造的HTML圖表。 因此圖表是要 是一個有序列表。 然後,我們將遍歷所有的 該席位在我們的班車。 因此,如果這個特定的座位是空,即 意味著我們想要一個列表項 表明它是一個空的容易。 否則,如果它不為null,那麼我們希望 一個列表項,是要顯示 乘客的姓名和 乘客的房子 這是在這個位子。 一旦我們遍歷所有的 座椅那麼我們閉上了我們的有序列表 並使用jQuery選擇圖表的div 和替換它的HTML與我們的新 有序列表。 就是這樣的圖表。 所以最後一件事是落。 現在,落將是 非常相似的回升。 而不是遍歷所有的 乘客,我們要遍歷 所有的班車座位。 因此,在循環穿梭席位,我們 看到的是這個特定的班車座位 不為null,在這種情況下,有 乘客在這個位子。 如果是這樣的話,我們希望 搶緯度和 東經這個乘客。 因此,使用房子的數組,我們 要搶的房子 乘客在這個位子,然後搶 該特定房屋的緯度 同樣的經度。 現在,我們再次用距離來看看 在那所房子是30英尺內我們。 如果是這樣的話,他們想要設定 這個座位為null,因為乘客 被取消了,並且增量, 一名乘客下車。 因此,在年底,如果沒有人 下車,我們宣布,任何人 要在這裡下車。 最後,我們需要rechart使 我們展示新的空座位。 現在,你只需要實現 一些額外的功能。 現在,有很多你可以 從選擇。 但在我們的例子中,我們實施的瞬移, 飛行,並加快和 加快了。 因此,讓我們來看看這些。 首先,讓我們來看看 在加快功能。 所以在我們的情況下,在擊鍵 功能,在這裡我們已經處理 所有這些鍵的,我們也要去 認識X和哪些我們指定Z。 這些字符要 導致航天飛機的速度,以 增加和減少。 所以請注意,我們把一個綁定就如何 高,如何低的速度可 實際上去,因為我們不希望 航天飛機是太快了。 而且我們也不想航天飛機 速度到零或可能 甚至為負,這將導致 在一些奇怪的行為。 就是這樣超速 時慢了下來。 現在,讓我們來看看飛。 所以請記住,飛功能 要求您輸入科納米代碼。 所以在頂部,我們看到我們有一些 全局變量,科樂美碼是 這只是跟踪的一個數組 需要時,要輸入的鍵 科樂美的代碼。 有一個布爾剛剛表示 科樂美的代碼是否已經 被輸入。 然後還有的索引 科納米代碼數組 我們目前正處在。 因此,如果用戶已經輸入了三個 科納米碼字符 然後索引會指向 在陣列中的第四事情, 第三個指標。 利用這一點,我們再一次會 看擊鍵。 而在關鍵的行程,我們在這裡看到的,如果 科納米代碼已不是 進入,那麼我們希望看到的是 鍵時輸入的內容我們 從目前預期 科納米碼數組。 如果是這樣的話,那麼 我們增加我們的索引。 如果用戶鍵入向上則指數 是要去的。 然後,用戶將輸入了一遍, 索引變為2。 然後,他們會輸入了下來, 它會去到三個。 如果他們輸入Q,它會重置為 零,因為他們不匹配 預期值。 現在,如果他們設法打通 整個數組,那麼他們已經進入了 KONAMI碼。 在這種情況下,現在進入小浪 誠然,我們看到這兒,如果 KONAMI輸入了,我們接受了兩個新的 鍵,C和E,所有這些都行 置的向下飛行和飛行 向上國中穿梭。 所以,已經為你存在。 你只需要採取 利用它們。 這就是它的飛行。 最後,我們已經瞬移。 所以內部的HTML中,我們看到 我們增加了一個輸入框和一個 瞬移按鈕。 該對話框有ID地址,和按鈕 有一個ID瞬移按鈕。 現在是一個惱人的小細節是, 如果我們不與事件做任何事 處理器然後,當我們嘗試鍵入 有點像在輸入框中, 而不是實際平了,我們的谷歌 地球將要移動到 離開因為A已經被註冊 處理移動到左邊。 所以在這裡煩人的細節是, 當我們有一個鍵向下或向上鍵 事件的輸入框裡面,我們要 到event.stop傳播是 只是要防止 滑動穿梭。 一旦這樣處理,我們還需要添加 一個處理程序的瞬移按鈕。 當我們點擊瞬移按鈕,我們 搶地址,這是當前 在輸入框中的值,然後 我們稱這個瞬移功能。 那麼,瞬移 函數是什麼樣子? 好了,我們看到的第一件事情是我們 使用地理編碼器。地理編碼。 所以,那是什麼? 那麼,如果我們頂一下, 我們看到,我們有一個新的 全局變量,地理編碼器。 這是一個全球性的參考 到地理編碼服務。 現在,這是什麼為我們做? 那麼,在輸入框中,我將是 進入像牛津33 街劍橋,馬薩諸塞州。 但是,我們真的不能做 什麼這一點。 我們希望將其轉換成 緯度和經度。 而這正是地理編碼服務 是要為我們做。 在initcb的底部,我們看到 我們有地理編碼等於新 google.maps.geocoder它初始化 這個變量對我們。 做回瞬移。 我們看到,我們正在使用的地理編碼器。 我們在地理編碼的地址是 傳遞給瞬移功能, 從輸入框被抓住了。 我們正在傳遞一個回調 這需要結果和狀態。 我們需要檢查每所以第一件事 google.maps的API文檔。 GeocodingService。 地圖 因此,我們必須檢查狀態 看它是否返回。 google.maps.GeocoderStatus.OK這 表明我們有一個有效的結果。 如果我們不這樣做,那麼我們得到的,沒有做不到的。 這可能是一個無效的地址。 或API服務可能 關閉或誰知道? 假設我們有一個成功的結果,那麼 我們要在搶位置 結果。 而我們要設置的谷歌地圖 在右下角是 集中在該位置,並更新 公交地圖,以該位置上。 現在我們需要更新 谷歌地球插件。 所以我們更新的緯度和 經度穿梭。 而且我們還需要更新 shuttle.localAnchorCartesian因為如果 你看看shuttle.js,你會看到, 這還跟踪緯度 和經度。 所以,如果我們不更新,我們有 原始的緯度和經度 存儲隱藏在某處。 所以更新,現在,我們稱之為 shuttle.updateCamera刷新 篩選並展示我們新的位置。 就是這樣。 我的名字是羅布。 這是班車。