ROB BOWDEN: Hi. Είμαι Rob. Και ελπίζω να είστε έτοιμοι για να πάρει ό, τι Είμαι αφήσει ή απόθεση, ή ας ξεκινήσουμε. Έτσι το πρώτο πράγμα που χρειαζόμαστε να κάνετε είναι να πάρει. Τώρα, σηκώστε πρόκειται να την αφαίρεση του εικονίδια των επιβατών από το Google χάρτη στην κάτω δεξιά γωνία και από το Google Earth, στο κέντρο της η οθόνη. Έτσι, προκειμένου να αρθούν αυτά εικονίδια, θα πρέπει να έχουν την αναφορές σε αυτά κάπου. Αλλά σήμερα, η λειτουργία Συμπλήρωση Απλά παίρνει απαλλαγούμε από αυτά. Έτσι θα πάμε να πρέπει να τροποποιήσετε συμπληρώσετε για να τους κρατήσει περίπου. Τώρα το πρώτο πράγμα που θα δείτε είναι ότι εμείς έχουμε μια παγκόσμια σειρά τους επιβάτες. Και έτσι θα πάμε να χρησιμοποιήσετε ότι οι παγκόσμιοι του επιβάτες πίνακα σε Συμπλήρωση. Στην Συμπλήρωση, βλέπουμε ότι είμαστε looping πάνω από όλα από τους επιβάτες μας. Και είναι αυτός ο βρόχος που είναι η δημιουργία του τοποθετήσουν το σημάδι για το Google Earth και το δείκτης για το Google Map. Και έτσι τώρα η τροποποίησή μας να συμπληρώσετε είναι να είναι εδώ. Έτσι είμαστε προσθήκη στους επιβάτες μας » array αυτό το αντικείμενο που κρατά γύρω από το σήμα δείκτη και τον τόπο που μόλις δημιουργείται μαζί με το σπίτι και το όνομα του επιβάτη. Έτσι, αυτό είναι για Συμπλήρωση. Τώρα πρέπει να κοιτάξουμε Pick Up. Έτσι, Pick Up, είμαστε για άλλη μια φορά πρόκειται να επαναλάβετε σε όλους του επιβάτες μας. Αλλά τώρα είναι το παγκόσμιο επιβάτες πίνακα. Και εδώ βλέπουμε ότι καλά, έχουν έχουμε ήδη πάρει αυτή τη επιβατών; Δεδομένου ότι αν έχουμε πάρει αυτό επιβατών, βλέπουμε στο τέλος ότι θα πάμε για να ρυθμίσετε το δείκτη και το σήμα place to null δεδομένου ότι είναι όχι πλέον στο χάρτη της Google. Έτσι, αν έχουμε ήδη πάρει αυτό επιβατών, τότε είμαστε ακριβώς πρόκειται να συνεχίστε με το επόμενο επιβάτη. Αλλιώς, θα ελέγξει για να δει εάν αυτό το σπίτι των επιβατών είναι μέσα από το array σπιτιού. Αυτή είναι η επιταγή θα πρέπει να βεβαιωθείτε ότι ότι δεν σηκώσει το καινούριο, όπως το spec λέει. Έτσι, αν ο επιβάτης είναι ένας καινούριος, θα πάμε να συνεχίστε με το επόμενο επιβάτη. Μόλις έχουμε διαπιστώσει ότι αυτό είναι ένα επιβατών θα πρέπει να πάρει, είμαστε τώρα πρόκειται να ελέγξετε το γεωγραφικό πλάτος και το γεωγραφικό μήκος του επιβάτη και να δούμε αν αυτό είναι μέσα σε 15 πόδια από το λεωφορείο. Αν αυτή είναι η περίπτωση, εμείς πραγματικά θέλουμε να πάρει αυτό επιβάτη. Έτσι, έχουμε ενσωματώσει σε όλες τις θέσεις στο λεωφορείο μας ψάχνει να δει αν υπάρχει ένα διαθέσιμο σημείο για τον επιβάτη. Εάν ένα από τα καθίσματα είναι null, αυτό είναι ένα διαθέσιμο σημείο. Έτσι, προσθέτουμε τον επιβάτη στο κάθισμα. Θυμόμαστε ότι πήραμε το επιβάτες, έτσι ώστε στο τέλος, μπορούμε να ανακοινώσει εάν όντως Δεν είχα πάρει κανείς επάνω. Θυμόμαστε πως κάθεται αυτό επιβατών δεδομένου ότι αν καταφέρουμε να πάρετε σε όλο το λεωφορείο, χωρίς να έδραση του επιβάτη, τότε θα πρέπει να ανακοινώσουμε ότι είμαστε από τις θέσεις. Στη συνέχεια, αφαιρούμε τη θέση τους σήμα από το Google Earth. Βγάζουμε δείκτη τους από το Google Maps, που μέσα από τους επιβάτες μας » σήμα συστοιχία τόπο και δείκτη με μηδενική όπως είπαμε πριν. Και τότε αυτό είναι. Ο επιβάτης έχει κάθεται. Μόλις έχουμε κάνει αυτό για όλους τους επιβάτες εντός 15 πόδια του μεταφοράς, θα πρέπει να rechart. Έτσι Chart είναι τι πρόκειται να εμφανιστεί η επιβάτες στα καθίσματα εδώ. Έτσι τώρα, ας δούμε Chart. Μέσα από Chart, θα πάμε να την κατασκευή του HTML για το γράφημα. Έτσι, το διάγραμμα θα είναι μια διατεταγμένη λίστα. Στη συνέχεια, θα επαναλάβει πάνω από όλα τα καθίσματα στο λεωφορείο μας. Έτσι, αν αυτό το συγκεκριμένο κάθισμα είναι μηδενική, ότι σημαίνει ότι θέλουμε ένα στοιχείο λίστας που υποδεικνύει ότι είναι ένα άδειο εύκολο. Αλλιώς, αν δεν ήταν μηδενική, τότε θέλουμε Λίστα ένα στοιχείο που πρόκειται να εμφανιστεί το όνομα του επιβάτη και το σπίτι του επιβάτη ότι είναι σε αυτό το κάθισμα. Μόλις έχουμε επαναλαμβάνεται επί του συνόλου των καθίσματα, τότε κλείνουμε διατεταγμένη λίστα μας και τη χρήση jQuery για να επιλέξετε το div γραφήματος και να την αντικαταστήσει η HTML με τα νέα μας Λίστα παραγγείλει. Και αυτό είναι για Chart. Έτσι, το τελευταίο πράγμα είναι αποκοιμιέμαι. Τώρα πέφτω πρόκειται να είναι αρκετά παρόμοια με πάρει. Αντί του βρόχου πάνω από όλα της τα επιβάτες, θα πάμε να στρέφονται το σύνολο των εδρών λεωφορείο. Έτσι, looping πάνω από τα καθίσματα λεωφορείο, μπορούμε δείτε είναι αυτό το συγκεκριμένο κάθισμα μεταφοράς δεν μηδενική, οπότε δεν υπάρχει επιβάτη σε αυτό το κάθισμα. Αν αυτή είναι η περίπτωση, θέλουμε για να αρπάξει το γεωγραφικό πλάτος και γεωγραφικό μήκος αυτού του επιβάτη. Έτσι, χρησιμοποιώντας πίνακα του σπιτιού, είμαστε πρόκειται να αρπάξει το σπίτι του επιβάτη σε αυτό το κάθισμα και στη συνέχεια να αρπάξει την γεωγραφικό πλάτος του συγκεκριμένου σπιτιού και ομοίως για το γεωγραφικό μήκος. Τώρα, χρησιμοποιούμε και πάλι απόσταση για να δείτε σε εκείνο το σπίτι είναι μέσα σε 30 πόδια από εμάς. Αν αυτή είναι η περίπτωση, που θέλετε να ορίσετε το κάθισμα σε null, δεδομένου ότι ο επιβάτης είχε πέσει στα ανοικτά, και προσαύξηση που ένας επιβάτης είχε πέσει στα ανοικτά. Έτσι ώστε στο τέλος, αν κανείς δεν ήταν πέσει στα ανοικτά, σας ανακοινώνουμε ότι κανείς δεν θέλει να πέσει στα ανοικτά εδώ. Τέλος, θα πρέπει να rechart έτσι ώστε προβάλλουμε νέες, κενές θέσεις. Τώρα, το μόνο που χρειάζεται για την εφαρμογή κάποια επιπλέον χαρακτηριστικά. Τώρα, υπάρχουν πολλά που θα μπορούσαν να έχουν επιλεγεί από το. Αλλά στην περίπτωσή μας υλοποιήσαμε teleport, φέρουν, και την επιτάχυνση, και επιτάχυνση προς τα κάτω. Ας ρίξουμε μια ματιά σε εκείνους. Κατ 'αρχάς, ας ρίξουμε μια ματιά στο η επιτάχυνση χαρακτηριστικό. Έτσι, στην περίπτωσή μας, στην πληκτρολόγηση λειτουργία, όπου είμαστε ήδη χειρισμό όλα αυτά τα πλήκτρα, πρόκειται επίσης να αναγνωρίζουν Χ και Ζ. Ποια εμείς καθορίζουμε ότι αυτές οι χαρακτήρες πρόκειται να να προκαλέσει την ταχύτητα του διαστημικού λεωφορείου για να αυξήσετε και να μειώσετε. Έτσι, παρατηρούμε ότι βάζουμε ένα όριο στο πόσο υψηλή και για το πώς μια χαμηλή είναι η ταχύτητα μπορεί πραγματικά να πάει αφού δεν θέλουμε το λεωφορείο να είναι πάρα πολύ γρήγορα. Και εμείς επίσης δεν θέλουν το λεωφορείο του ταχύτητα για να πάει στο μηδέν ή, ενδεχομένως, ακόμη και αρνητική η οποία θα οδηγήσει σε κάποια παράξενη συμπεριφορά. Και αυτό είναι για υπερβολική ταχύτητα και επιβράδυνση. Τώρα, ας ρίξουμε μια ματιά στο πέταγμα. Έτσι, να θυμάστε ότι το ιπτάμενο χαρακτηριστικό απαιτεί από εσάς να εισάγετε τον κώδικα Konami. Έτσι, στην κορυφή, βλέπουμε έχουμε κάποια καθολικές μεταβλητές, Konami κώδικα που είναι μια σειρά που μόλις την παρακολούθηση της κλειδιά που πρέπει να εισαχθούν για ο Κώδικας Konami. Υπάρχει μια Bool που δείχνει ακριβώς αν η Konami κώδικα έχει ήδη έχουν εγγραφεί. Και έπειτα υπάρχει ο δείκτης σε η σειρά της Konami κώδικα προκύπτει ότι είμαστε σήμερα σε. Έτσι, εάν ο χρήστης έχει ήδη εισαχθεί τρεις χαρακτήρες της Konami κώδικα τότε ο δείκτης πρόκειται να επισημαίνουν Το τέταρτο πράγμα στη συστοιχία, η τρίτο δείκτη. Χρησιμοποιώντας ότι, για άλλη μια φορά θα εξετάσουμε κλειδί εγκεφαλικό επεισόδιο. Και σε βασικούς εγκεφαλικό επεισόδιο βλέπουμε εδώ ότι εάν η Konami κώδικα δεν έχει ήδη εγγράφονται, τότε θέλουμε να δούμε είναι η κλειδί, που τέθηκε αυτό που είμαστε αναμένει αυτήν την περίοδο από η σειρά της Konami κώδικα. Αν αυτή είναι η περίπτωση, τότε θα αυξήσετε ευρετήριό μας. Εάν ο χρήστης πληκτρολογήσει Μέχρι τότε δείκτη πρόκειται να πάει σε ένα. Στη συνέχεια, ο χρήστης θα πληκτρολογήσετε πάλι, ο δείκτης πηγαίνει σε δύο. Στη συνέχεια, θα πληκτρολογήσετε τα κάτω, θα πάει σε τρία. Αν πληκτρολογήσετε Q, θα επαναφέρετε σε μηδέν, δεδομένου ότι δεν ταιριάζει η αναμενόμενη τιμή. Τώρα, αν καταφέρουν να πάρουν μέσω της ολόκληρο τον πίνακα, τότε έχετε εισάγει το Κωδικός Konami. Σε περίπτωση που, τώρα που η Konami άρχισε Είναι αλήθεια, βλέπουμε εδώ κάτω ότι αν Konami είχε εγγραφεί, δεχόμαστε δύο νέα πλήκτρα, C και Ε. Ποια όλους όσους θα κάνει βρίσκεται το φέρουν προς τα κάτω και τα οποία φέρουν ανοδική κράτη στο λεωφορείο. Έτσι, υπάρχουν ήδη για εσάς. Απλά πρέπει να λάβει επωφεληθούν από αυτές. Και αυτό είναι για πέταγμα. Τελευταία, έχουμε teleport. Έτσι, στο εσωτερικό της HTML, βλέπουμε ότι έχουμε προσθέσει ένα πλαίσιο εισόδου και κουμπί teleport. Το κουτί έχει διεύθυνση ID, και το κουμπί έχει ένα κουμπί teleport ID. Τώρα, ένα ενοχλητικό μικρή λεπτομέρεια είναι ότι αν δεν κάνουμε τίποτα με εκδήλωση Χειριστές στη συνέχεια, όταν προσπαθούμε να πληκτρολογήσετε κάτι σαν Α στο πλαίσιο εισαγωγής, αντί πραγματικά δέσιμο Α, η Google μας Γη πρόκειται να κινηθεί προς την αριστερά από το Α έχει ήδη καταχωρηθεί να χειριστεί μετακίνηση προς τα αριστερά. Έτσι, η ενοχλητική λεπτομέρεια εδώ είναι ότι όταν έχουμε ένα κλειδί κάτω ή το πλήκτρο επάνω περίπτωση εντός του πλαισίου εισαγωγής, θέλουμε να event.stop διάδοσης η οποία είναι ακριβώς πρόκειται για την πρόληψη της ολίσθηση του λεωφορείο. Από τη στιγμή που χειρίστηκε, θέλουμε επίσης να προσθέσετε ένας χειριστής στο κουμπί teleport. Όταν κάνουμε κλικ στο κουμπί teleport, εμείς πιάσε τη διεύθυνση, η οποία είναι η τρέχουσα αξία στο πλαίσιο εισαγωγής, και στη συνέχεια καλούμε την function teleport. Τι κάνει λοιπόν η τηλεμεταφορά λειτουργία μοιάζει; Λοιπόν, το πρώτο πράγμα που βλέπουμε είναι ότι είμαστε χρησιμοποιώντας geocoder. γεωκωδικοποιήσει. Έτσι τι είναι αυτό; Λοιπόν, αν κοιτάξουμε την κορυφή, βλέπουμε ότι έχουμε μια νέα παγκόσμια μεταβλητή, geocoder. Και αυτό είναι ένα παγκόσμιο σημείο αναφοράς σε υπηρεσία γεωκωδικοποίησης. Τώρα τι σημαίνει αυτό για εμάς; Λοιπόν, στο πλαίσιο εισόδου, Πάω να είναι εισέρχεται κάτι σαν 33 Οξφόρδη Οδός Cambridge, Μασαχουσέτη. Αλλά δεν μπορούμε πραγματικά να κάνουμε τίποτα με αυτό. Θέλουμε να μετατρέψετε ότι για να γεωγραφικού πλάτους και μήκους. Και αυτό είναι ό, τι την υπηρεσία geocoding πρόκειται να κάνει για μας. Στο κάτω μέρος του initcb, βλέπουμε ότι έχουμε geocoder ισούται νέα google.maps.geocoder που προετοιμάζει η μεταβλητή για εμάς. Έτσι, πίσω στο teleport. Βλέπουμε είμαστε με τη geocoder. Είμαστε γεωκωδικοποιεί τη διεύθυνση που ήταν περάσει στη λειτουργία teleport που αρπάχτηκε από το πλαίσιο εισαγωγής. Και είμαστε περνώντας μια κλήση πίσω η οποία παίρνει τα αποτελέσματα και την κατάσταση. Έτσι το πρώτο πράγμα που πρέπει να ελέγξετε ανά το έγγραφο API των google.maps. GeocodingService. Χάρτες Έτσι, θα πρέπει να ελέγξετε την κατάσταση για να δούμε αν επέστρεφε. google.maps.GeocoderStatus.OK που δείχνει ότι έχουμε ένα έγκυρο αποτέλεσμα. Αν δεν το κάνουμε, τότε θα έχουμε, δεν μπορούμε να κάνουμε. Αυτό μπορεί να είναι μια έγκυρη διεύθυνση. Ή θα μπορούσε η υπηρεσία API είναι κάτω ή ποιος ξέρει; Υποθέτοντας ότι έχουμε ένα αποτέλεσμα επιτυχία στη συνέχεια θα πάμε για να αρπάξει τη θέση από το αποτέλεσμα. Και θα πάμε για να ρυθμίσετε το Google Map στην κάτω δεξιά γωνία για να επικεντρώνεται σε αυτή τη θέση και να ενημερώσετε το λεωφορείο στο χάρτη σε αυτήν την τοποθεσία. Και τώρα θα πρέπει να ενημερώσετε το Google Earth plug-in. Γι 'αυτό και την ενημέρωση του γεωγραφικού πλάτους και γεωγραφικό μήκος του λεωφορείου. Και πρέπει επίσης να ενημερώσετε το shuttle.localAnchorCartesian αφού αν κοιτάτε shuttle.js, θα δείτε ότι που παρακολουθεί επίσης το γεωγραφικό πλάτος και μήκος. Έτσι, αν δεν ενημερώσετε ότι, έχουμε την πρωτότυπο γεωγραφικό πλάτος και μήκος αποθηκεύονται κρυμμένο κάπου. Έτσι ενημέρωση ότι τώρα, καλούμε shuttle.updateCamera να ανανεώσετε το οθόνη και να μας δείξει τη νέα θέση μας. Και αυτό είναι όλο. Το όνομά μου είναι Rob. Και αυτό ήταν Shuttle.