ROBボーデン:こんにちは。 私はロブだ。 と私はあなたが何をピックアップする準備が整いました願っています 私は、脱落または下に入れている またはのは始めましょう。 私たちが必要とするので、まず最初に 行うにはピックアップです。 今、削除されようとしているピックアップ グーグルからの乗客のアイコン 右下の隅にしてからマップ の中心部にあるグーグルアース 画面。 ので、これらを除去するために、 アイコンは、我々は持っている必要があります どこかへの参照。 しかし、現在は、移入機能 ちょうどそれらを取り除きます。 だから我々は、変更する必要があるとしている それを周りに保つために移入します。 今、私たちはわかります最初にその私たちです グローバル乗客の配列を持っている。 そして私たちは、グローバルのを使用するつもりだ 移入の乗客配列。 移入では、我々がループしていることがわかります 私たち乗客のすべての上に。 そして、それは作るのは、このループの Google Earthのためのマークとを配置 Googleマップのマーカーで。 だから、今私たちの修正 移入することはここにある。 だから我々は '私たちの乗客にに追加している 配列保っているこのオブジェクト マーカーと場所のマークの周りの我々だけで 家と一緒に作成され、 乗客の名前。 だから、移入のためにそれだ。 今、私たちは、ピックアップを調べる必要があります。 だからピックアップでは、我々は再びするつもりだ 私たち乗客のすべてを反復。 しかし、今では私たちの地球だ 乗客配列。 そしてここでは、そのほかきた見ている 我々はすでに、この乗客を拾いました? 以来、私たちはこれを拾った場合は 乗客、我々は最終的には見ている 我々は、マーカーと設定しようとしている 彼らはしているので、nullに場所マーク グーグル·マップ内のより長い。 我々はすでにこれを拾ってきたそうであれば 乗客は、我々はちょうどしようとしている 次の乗客に進みます。 そうでなければ、我々はこのかどうかを確認してください 乗客の家は、内部にある ハウスの配列。 これは、我々は確認する必要がありますチェックです 私たちは新入生を迎えていないこと スペックは述べています。 だから、乗客は新入生の場合は、 我々はするつもりだ 次の乗客に進みます。 我々は、これがあることを確認したら 乗客は我々は、ピックアップする必要があります 我々は今、緯度を確認するつもりだ と乗客の経度と参照 それは15フィート以内の場合には シャトルの。 そのような場合、私たちは実際に望む この乗客をピックアップする。 だから我々は席をすべての上に統合 私たちのシャトルにあるかどうかを調べ 利用可能なスポットがあります 乗客のため。 座席の1がNULLの場合、 それは、利用可能なスポットです。 だから我々は席に乗客を追加します。 私達は私達が拾ったことを覚えておいてください 乗客最後に、我々はできるように、 実際に私たち場合に発表 誰をピックアップしませんでした。 我々は、我々はこれを座っていることを覚えている 乗客以来、私たちは、取得するために管理している場合 せずに全体のシャトルを通じて 乗客座席、その後、我々はする必要があり 我々は席の外にいることを発表。 その後、我々はその場所を削除 グーグルアースでマーク。 我々は、Googleマップから自分のマーカーを削除し、 私たち乗客の中に設定 アレイ·プレース·マークとマーカー 我々は前にも言ったようにNULLに。 してから、それはそれだ。 乗客が座ってきた。 我々はすべての乗客のためにそれをやった後は 15フィート以内 シャトルは、我々はrechartする必要があります。 だから、チャート表示するために何が起こっているかである こっち席の乗員。 だから今、のはチャートを見てみましょう。 グラフの内部では、我々はするつもりだ グラフのHTMLを構築する。 だから、チャートがしようとしている 順序付きリストである。 その後、我々はすべてを反復します 私たちのシャトルの座席。 したがって、この特定の座席がnullの場合、その 我々はそのリストアイテムが欲しいこと それが空に簡単だということを示している。 それがnullでなかった場合には他に、、その後、我々は欲しい 表示しようとしているリストアイテム 乗客の名前と 乗客の家 つまり、この席でだ。 我々はすべてを反復処理したら 席し、我々は我々の順序付きリストを閉じる とチャートのdivを選択するためにjQueryを使って それが私たちの新しいと、HTMLの置き換えます リストを命じた。 そして、それはチャートのそれだ。 だから、最後の事はドロップオフです。 今オフにドロップすると、あることを行っている 拾うのはとても似ています。 代わりに、すべてに関してループしながらの 乗客は、我々をループするつもりだ シャトルの座席がすべて表示されます。 だから我々は、シャトルの座席をループ 参照は、この特定のシャトル席です そこその場合には、ヌルでない この席乗員。 そのような場合、我々は欲しい 緯度をつかむためにと この乗客の経度。 だから、家の配列を使用して、我々はしている の家をつかむつもり この席乗員、次につかむ その特定の家の緯度 同様経度。 今、私たちはもう一度見て距離を用いる その家で私たちの30フィート以内である。 その場合は、それらは設定したい この席には乗客以来NULLに 脱落し、インクリメントということでした 乗客を降ろした。 だから最終的には、誰もしていない場合 落ちた、我々は、誰もを発表しない ここで脱落することを望んでいる。 最後に、我々はそのようrechartする必要があります 我々は新しい、空席を表示する。 今、あなただけ実装する必要があります いくつかの追加機能。 さて、あなたは可能性がたっぷりです から選択しました。 しかし、我々のケースでは、テレポートを実施し、 飛行、および高速化し、 ダウンスピード。 それでは、それらを見てみましょう。 まずは、見てみましょう 高速化機能。 だから、我々の場合、キーストローク中 我々はすでに処理している機能、 これらのキーのすべてが、我々はまた、しようとしている 我々は指定する、XとZを認識 これらの文字は、しようとしていることを へのシャトルの速度を起こす 増加と減少。 だから我々はどのように上限を置くことに気付く 高いとどのように低速CANを 我々は望んでいないので、実際に行く シャトルはあまりにも高速である。 そして、我々はまた、シャトルのを望んでいない ゼロまたは可能性に行くの速度 でも、否定的な結果であろう いくつかの奇妙な行動に。 そして、それはスピード違反のためにそれだ 上下に減速。 それでは、飛行を見てみましょう。 だから飛行機能を覚えている コナミコードを入力する必要があります。 だから、一番上まで、我々はいくつかを持って参照してください。 グローバル変数であり、コナミコード ちょうどを追跡するの配列 のために入力する必要が鍵 コナミコード。 ただ示すboolがあります コナミコードはすでに持っているかどうか 入力された。 と、インデックスにはあり コナミコード配列、その 我々現在の位置だ。 したがって、ユーザーは既に3に入っている場合は、 コナミコードの文字 その後、インデックスはを指すように起こっている 配列内の第四のもの、 3番目のインデックス。 我々は再び、それを使用してます キーストロークを見てください。 とキーストロークで、我々はここで見ることがあれば コナミコードはすでにされていない 入力されたし、我々が見たいと思っている 我々はしているものが入力されましたキー 現在の期待 コナミコード配列。 その場合は、その後、 我々は我々のインデックスをインクリメントします。 場合は、ユーザーのタイプは、アップ、インデックス 1に行く予定です​​。 ユーザーは再び入力します、 インデックスは2になります。 それから、彼らはダウンして入力します、 それは3に移動します。 彼らは、Qを入力すると、それはにリセットされます それらが一致しませんでしたので、ゼロ 期待値。 今、彼らは介し​​て取得する管理している場合 配列全体が、それらは入力した コナミコード。 コナミは、入力された今では、その場合には、 trueの場合、私たちはここでダウンして見ているかの コナミが入力された、我々は新しい2を受け入れ すべての人がどうなるのキー、CおよびE 下向き飛んで飛んで設定されている シャトルでの上向きの状態。 だから、すでに存在します。 あなただけ取る必要がある それらを利用。 そして、それは飛行のためにそれだ。 最後に、我々はテレポートしている。 だから、HTMLの中に、私たちはいることがわかり 我々は、入力ボックスとAを追加しました テレポートボタンを押します。 ボックスには、IDアドレス、およびボタンがあります IDのテレポートボタンがあります。 今1迷惑な小さなディテールがあることである 私たちはイベントに何もしない場合は、 ハンドラは、我々のように入力しようとすると、 入力ボックスにのようなもの、 代わりに、実際にAは、Googleを結ぶの 地球はに移動しようとしている Aはすでに登録されているので、左 左に移動し処理する。 だからここに迷惑なディテールがあることである 私たちは、下キーまたはキーアップを持っている場合 入力ボックスの内側イベント、私たちが望む で伝播をevent.stopする ちょうど防ぐために行く シャトルの滑り。 それが処理だと、我々はまた、追加したい テレポートボタンハンドラ。 私たちは、テレポートボタンをクリックすると、我々 現在のアドレスをつかむ 入力ボックスの値、その後、 我々は、このテレポート関数を呼び出します。 だから、テレポートはどういう 機能は次のように? さて、私たちが見る最初の事は私達がしているである ジオコーダーを使用。ジオコード。 だから何ですか? まあ、我々はトップを見れば、 我々は新しいがあることを参照してください。 グローバル変数、ジオコーダ。 そして、これはグローバル参照である ジオコーディングサービスへ。 今では私たちのために何をするのでしょうか? さて、入力ボックスに、私はあることを行っています 33オックスフォードのよ​​うなものを入力する ストリートケンブリッジ、マサチューセッツ州。 しかし、我々は実際に行うことはできません それを使って何。 我々はにそれを変換したい 緯度と経度。 そして、それはどのようなジオコーディングサービスの 私たちのために何をするつもりです。 initcbの一番下に、我々はその参照 私たちは、ジオコーダーが、新たに等しく持っている 初期化google.maps.geocoder 私たちのために、この変数。 そうテレポートに戻って。 私たちは、ジオコーダーを使用している参照してください。 我々はしたアドレスをジオコーディングしている テレポート関数に渡され 入力ボックスから取得した。 そして、我々は戻って、それに電話を渡している 結果とステータスをとる。 我々は、PERをチェックする必要があるので、まず最初に google.mapsのAPIドキュメント。 GeocodingService。 地図 だから我々は状況をチ​​ェックする必要が それが返されるかどうかを確認します。 google.maps.GeocoderStatus.OKいる 我々は有効な結果を持っていることを示しています。 我々は、我々が取得しない場合は、何を行うことはできません。 これは、無効なアドレス可能性があります。 またはAPIサービスマイト ダウンしているか、誰が知っている? 我々は、その後、成功した結果を持っていると仮定して 我々は場所をつかむつもりだ その結果。 そして、我々はGoogleマップを設定しようとしている ようにする右下の隅に その場所を中心と更新 その場所に、マップ上のバス。 そして今、我々は更新する必要があります Google Earthのプラグイン だから我々は、緯度を更新し、 シャトルの経度。 そして、我々はまた、更新する必要があります shuttle.localAnchorCartesian場合導入された あなたはshuttle.jsを見て、あなたがいることがわかります それはまた、緯度を追跡します と経度。 我々はそれを更新しないのであれば、我々は持っている オリジナルの緯度と経度 どこかに隠されて格納されている。 だから今、我々は呼び出すことを更新 リフレッシュするshuttle.updateCamera 画面と私たちの新しい場所を示しています。 そして、それはこれだけです。 私の名前はロブです。 そして、これはシャトルた。