ROB אודן: היי. אני רוב. ואני מקווה שיהיה מוכן להרים את מה אני מוריד את או לשים למטה, או בואו נתחיל. דבר ראשון שאנחנו צריכים כל כך לעשות הוא להרים. עכשיו, לאסוף את הולך להיות הסרת סמלים של נוסעים מגוגל המפה בפינה הימנית התחתונה ומן ב-Google Earth במרכז המסך. אז כדי להסיר אותם סמלים, אנחנו צריכים אזכור שלהם למקום. אבל כיום, הפונקציה אכלסתי רק מקבל להיפטר מהם. אז אנחנו הולכים לעשות כדי לשנות לאכלס כדי לשמור על סובבים אותם. הדבר ראשון עכשיו אנו רואים הוא שאנחנו יש מערך נוסעים עולמי. וכך אנחנו הולכים להשתמש בזה בעולם של מערך נוסעים בלאכלס. בלאכלס, אנחנו רואים שאנחנו לולאה על כל הנוסעים שלנו. וזה לולאה זו שיוצרת את למקם את הסימן עבור Google Earth ו סמן למפת גוגל. ואז עכשיו השינוי שלנו כדי לאכלס הוא להיות כאן. אז אנחנו מוסיפים על לנוסעים שלנו " מערך האובייקט הזה שהוא שמירה סביב סימן הסמן והמקום שאנחנו פשוט יצר יחד עם הבית ו שמו של הנוסע. אז זהו זה ללאכלס. עכשיו אנחנו צריכים להסתכל על עד פיק. אז בפיק אפ, אנחנו הולכים שוב ל לחזר על כל הנוסעים שלנו. אבל עכשיו זה הגלובלי שלנו מערך נוסעים. וכאן אנחנו רואים שגם, יש לי אנחנו כבר הרמתי הנוסע הזה? שכן אם יש לנו הרים זה נוסע, שאנחנו רואים בסופו של הדבר כי אנחנו הולכים להגדיר את הסמן ו סימן מקום ריק שכן הם לא עוד במפה של גוגל. אז אם יש לנו כבר הרים את זה נוסע אז אנחנו רק הולכים תמשיך לנוסע הבא. דבר אחר, אנחנו בודקים כדי לראות אם זה ביתו של הנוסע הוא פנימי של המערך של הבית. זו הבדיקה שאנחנו צריכים לוודא כי אנחנו לא להרים את הכיתה ט 'כ המפרט אומר. אז אם נוסע הוא בכיתה ט ', אנחנו הולכים תמשיך לנוסע הבא. לאחר שנאמנו שזה נוסע אנחנו צריכים להרים, עכשיו אנחנו הולכים לבדוק את קו הרוחב אורך ורוחב של הנוסע ותראו אם זה בתוך 15 רגליים של המעבורת. אם זה המקרה, אנחנו בעצם רוצים לאסוף את הנוסע הזה. אז אנו משלבים על כל המושבים בהסעות שלנו מחפשים לראות אם יש מקום פנוי לנוסעים. אם אחד מהמושבים הוא ריק, זה מקום זמין. אז אנחנו מוסיפים את הנוסע למושב. אנחנו זוכרים שאנחנו הרמתי את נוסע כך שבסופו של הדבר, אנחנו יכולים להודיע ​​אם אנחנו באמת לא לבחור מישהו למעלה. לזכור שאנחנו יושבים זה נוסעים שכן אם אנחנו מצליחים להגיע דרך כל שירות ההסעות ללא ישיבה נוסע, אז אנחנו צריכים להכריז שאנחנו מחוץ למושבים. ואז אנו מסירים את מקומם לסמן מ-Google Earth. אנו מסירים הסמן שלהם מ-Google Maps, להגדיר בתוך של הנוסעים שלנו " סימן מקום מערך וסמן לnull כפי שאמרנו קודם. ואז זהו זה. הנוסעים כבר ישובים. ברגע שעשינו את זה בשביל כל הנוסעים בתוך 15 רגליים של הסעות, אנחנו צריכים rechart. אז תרשים הוא מה קורה לתצוגה לנוסעים במושבים לכאן. אז עכשיו, בואו נסתכל על תרשים. בתוך תרשים, אנחנו הולכים להיות בניית ה-HTML עבור התרשים. אז התרשים הולך להיות ברשימה מסודרת. לאחר מכן אנו לחזר על כל המושבים בהסעות שלנו. אז אם מושב מיוחד זה הוא ריק, כי אומר שאנחנו רוצים פריט רשימה ש מצביע על כך שזה קל ריק. דבר אחר, אם זה לא היה ריק, אז אנחנו רוצים פריט רשימה, כי הוא הולך לתצוגה שמו של הנוסע ו ביתו של הנוסע שהוא במושב הזה. ברגע שיש לנו iterated על כל מושבים ואז אנחנו סוגרים הרשימה המסודרת שלנו ולהשתמש jQuery כדי לבחור את div התרשים ולהחליף אותו זה HTML עם החדש שלנו הורה רשימה. וזהו זה לתרשים. אז הדבר האחרון הוא להשיל. עכשיו תוריד את הולך להיות די דומה ללהרים. במקום לולאה על כל נוסעים, אנחנו הולכים ללולאה מעל כל מושבי המעבורת. אז לולאה מעל מושבי המעבורת, אנחנו רואה הוא מושב הסעות מיוחד זה לא ריק, ובמקרה כזה יש לנוסע במושב הזה. אם זה המקרה, אנחנו רוצים כדי לתפוס את קו הרוחב ו קו אורך של הנוסע הזה. זאת באמצעות המערך של הבית, אנחנו הולך לתפוס את הבית נוסע במושב הזה ואז לתפוס את קו רוחב של בית מסוים ש ובאופן דומה לקווי אורך. עכשיו, אנחנו שוב משתמשים במרחק כדי לראות בבית הזה הוא בתוך 30 רגליים שלנו. אם זה המקרה, הם רוצים להקים המושב הזה לnull, שכן נוסע הושלכה משם, ותוספת ש נוסעים ירדו. כך שבסופו של הדבר, אם אף אחד לא היה הוריד, אנו מודיעים שאף אחד לא רוצה שיוריד אותי כאן. לבסוף, אנחנו צריכים rechart כך אנו מציגים מושבים חדשים וריקים. עכשיו, אתה רק צריך ליישם כמה תכונות נוספות. עכשיו, יש הרבה שאתה יכול בחרתי מ. אבל במקרה שלנו אנחנו מיושמים טלפורט, עף, וזירוז, ו נהיגה במהירות מופרזת כלפי מטה. אז בואו נסתכל על אלה. ראשית, בואו נסתכל על תכונת זרוז. אז במקרה שלנו, בהקשה פונקציה, שבו אנחנו כבר בטיפול כל אחד מהמקשים האלה, אנחנו גם הולכים מכיר X וז' איזה לציין שהדמויות האלה הולכים לגרום למהירות של המעבורת כדי להגדיל או להקטין. אז שם לב שאנחנו מכניסים כבול על איך גבוה ועל איך נמוך המהירות יכול בעצם ללכת מאז שאנחנו לא רוצים המעבורת להיות מהירה מדי. ואנחנו גם לא רוצים את של המעבורת מהירות ללכת לאפס או אולי אף שלילי אשר יגרום בכמה התנהגות מוזרה. וזה אותו על מהירות מופרזת והאטה. עכשיו, בואו נסתכל על טיסה. אז לזכור שהתכונה המעופפת דורש ממך להזין קוד Konami. אז למעלה בחלק העליון, אנחנו רואים שיש לנו כמה משתנים גלובליים, Konami קוד שהוא מערך זה רק שמירה על המסלול של מפתחות שצריכות נכנסו ל קוד Konami. יש בול שרק מצביע אם קוד Konami כבר כבר נכנס. ואז יש את האינדקס לתוך מערך Konami הקוד ש אנחנו כרגע ב. אז אם המשתמש כבר נכנס שלושה תווים של קוד Konami אז המדד הולך להצביע הדבר הרביעי במערך, מדד שלישי. באמצעות כך, שוב אנו יהיו מסתכל על שבץ מפתח. ובהקשה על לוח מקשים שאנו רואים כאן שאם קוד Konami לא היה כבר נכנס, אז אנחנו רוצים לראות הוא מפתח שהוזן מה שאנחנו כעת מצפה מ מערך Konami הקוד. אם זה המקרה, אז אנחנו להגדיל האינדקס שלנו. אם המשתמש מקליד עד אז מדד הוא הולך לאחד. אז המשתמש תקליד שוב, המדד הולך לשניים. אז הם הקלד למטה, זה ילך לשלוש. אם הם הקלד Q, זה יהיה לאפס את אפס שכן הם לא התאימו הערך הצפוי. עכשיו, אם הם מצליחים לעבור את כל מערך ואז הם נכנסו Konami Code. במקרה כזה, החברה שKonami נכנס נכון, אנו רואים כאן שאם Konami היה נכנס, אנו מקבלים שני חדשים מפתחות, C ו-E איזה כל אלה יעשו מוגדר עף כלפי מטה ועפתי מדינות כלפי מעלה במעבורת. אז כבר קיימות בשבילך. אתה פשוט צריך לקחת יתרון שלהם. וזה אותו לטיסה. אחרון, יש לנו טלפורט. אז פנימי של ה-HTML, אנו רואים כי הוספנו תיבת קלט ו טלפורט כפתור. יש תיבת כתובת מזהה, ועל לחצן יש כפתור טלפורט זהות. עכשיו פרט קטן אחד מעצבן הוא ש אם אנחנו לא עושים שום דבר עם אירוע מפעילים ואז כאשר אנו מנסים להקליד משהו כמו לתוך תיבת הקלט, במקום קשירה למעשה, גוגל כדור הארץ הולך לעבור עזב מאז כבר רשום כדי להתמודד עם נע שמאלה. אז הפירוט מעצבן כאן הוא כי כאשר יש לנו מפתח למטה או מקש עד אירוע בתוך תיבת הקלט, אנחנו רוצים לevent.stop התפשטות שהיא פשוט הולך כדי למנוע הזזה של המעבורת. ברגע שזה יטופל, אנחנו גם רוצים להוסיף מטפל לכפתור טלפורט. כשלחצו על כפתור טלפורט, אנחנו לתפוס את הכתובת, וזה הנוכחי ערך בתיבת הקלט, ולאחר מכן אנחנו קוראים לפונקצית טלפורט זה. אז מה עושה טלפורט פונקציה נראית? ובכן, הדבר הראשון שאנו רואים הוא שאנחנו באמצעות Geocoder. קידוד גיאוגרפי. אז מה זה? ובכן, אם אנחנו מסתכלים על החלק העליון, אנו רואים שיש לנו חדש משתנה גלובלי, Geocoder. ואת זה הוא התייחסות גלובלית לשירות קידוד גיאוגרפי. עכשיו מה זה עושה לנו? ובכן, בתיבת הקלט, אני הולך להיות נכנסים משהו כמו 33 אוקספורד הרחוב קיימברידג', מסצ'וסטס. אבל אנחנו לא באמת יכולים לעשות שום דבר עם זה. אנחנו רוצים להמיר את זה ל קווי אורך ורוחב. וזה מה ששירות הקידוד הגיאוגרפי הוא הולך לעשות לנו. בחלק התחתון של initcb, אנו רואים כי יש לנו Geocoder שווה חדש google.maps.geocoder שמאתחל משתנה זה בשבילנו. אז בחזרה לטלפורט. אנחנו רואים בו אנו משתמשים Geocoder. אנחנו לקודד גיאוגרפית את הכתובת שהייתה שהועבר לפונקצית טלפורט אשר מישהו תפס את תיבת הקלט. ואנחנו עוברים לשיחה אותו בחזרה אשר לוקח את התוצאות ומעמד. דבר אז קודם כל אנחנו צריכים לבדוק כל מסמך ה-API של google.maps. GeocodingService. מפות אז אנחנו צריכים לבדוק את המצב כדי לראות אם חזר בו. google.maps.GeocoderStatus.OK בי מצביע על כך שיש לנו תוצאה בתוקף. אם לא, אז אנחנו מקבלים, לא יכולים לעשות. זו יכולה להיות כתובת לא חוקית. או אולי שירות ה-API להיות למטה או מי יודע? בהנחה שיש לנו תוצאת הצלחה אז אנחנו הולכים לתפוס את המיקום שמן את התוצאה. ואנחנו הולכים להגדיר את Google Map בפינה הימנית התחתונה כדי להיות במרכז במיקום זה ולעדכן את אוטובוס על המפה למיקום זה. ועכשיו אנחנו צריכים לעדכן Google Earth Plug-in. אז אנחנו מעדכנים את קו הרוחב ו קו אורך של המעבורת. ואנחנו גם צריכים לעדכן shuttle.localAnchorCartesian שכן אם אתה מסתכל shuttle.js, תראה כי שגם עוקב אחר קו רוחב אורך ורוחב. אז אם אנחנו לא נעדכן את זה, יש לנו את קווי אורך ורוחב מקוריים מאוחסן חבוי אי שם. אז מעדכן את זה עכשיו, שאנו קוראים לי shuttle.updateCamera כדי לרענן את מסך ולהראות לנו את מקומנו החדש. וזהו זה. השם שלי הוא רוב. וזה היה הסעות.