>> [MUZYKA GRY]
>> David J. MALAN: Witam.
Weźmy na spacer po Problem Zestaw 8 Mashup,
która będzie kwestionować was czerpać elementów do Google Maps
z elementami z Google News i puree je razem do apletu internetowej,
umożliwia użytkownikom wyszukiwanie mapa do wiadomości lokalnych
do poszczególnych miast, miasta i kody pocztowe.
Aby to zrobić, będziemy zintegrować niektóre HTML, CSS, PHP, SQL,
JavaScript i technika Ogólnie wiadomo, Ajax w celu
do stworzenia tego wciągające doświadczenie użytkownika.
>> Niech najpierw dla siebie Google Maps.
To, oczywiście, jest prawdopodobnie Znajomy interfejs.
Ale okazuje się, że Google Maps stanowi również wniosek API--
programowanie interface-- poprzez które można wziąć elementy Google Maps
i włączenie ich do własne aplikacje.
Rzeczywiście w tym Proces, będziesz
znaleźć kilka adresów URL szczególnie pomocne, że
są wymienione w Specyfikacja Problem Zestaw 8,
Pierwsze kroki to specjalnie Przewodnik lub przewodnik dla programisty
Google Maps API w wersji 3 oraz w Google Maps API JavaScript
Odniesienie v3, który jest nieco bardziej złożoną, aby przeczytać
lecz w rzeczywistości ma wszystkie niższym poziomie Szczegółowe informacje dotyczące funkcji lub metod
oraz obiekty i właściwości oraz wydarzenia rzeczywiście pochodzą z API,
bardzo podobne w duchu do [niesłyszalne] stron.
>> Teraz, jeśli przyjrzymy w Google News, będziesz
może zobaczyć znajomy interfejs tutaj.
Ale okazuje się, można także wyszukiwać Google News dla określonych regionów geograficznych
poprzez parametr HTTP o nazwie geo.
W rzeczywistości, jeśli powiększyć tu, zobaczysz, że
Jestem na news.google.com/news/section?geo=02138.
I rzeczywiście, jeśli powiększyć się, zobaczysz, że jestem
patrząc na stronie z całą bandą poglądy na temat Cambridge, w stanie Massachusetts.
>> Tymczasem, jeśli rzeczywiście zmienić Adres URL, aby nie być kod pocztowy tak,
ale coś trochę bałaganu jak Cambridge, Massachusetts +,
gdzie plusem jest sposób kodowania spacja w adresie URL i naciśnij klawisz Enter,
zobaczysz, że rzeczywiście zobacz prawie taką samą wiadomość.
Być może jest to trochę inaczej bo rzeczywiście w Cambridge
ma wiele kodów pocztowych.
Teraz jak mam wiedzieć, że i, w rzeczywistości, jak można w jakiś sposób
tie miast i miasteczek do kodów pocztowych w przypadku I
Aby zezwolić użytkownikowi patrzeć albo?
Cóż, okazuje się, że jest strona tam nazywa
geonames.org co Inicjatywa ma
swobodnie dostępne w bazie wszystkim rodzaju informacji geograficznych,
Nie tylko w USA, a także w innych krajach.
W rzeczywistości, jeśli pójdę do tego adresu URL tutaj, co jest również wymieniony w podany problem
Specyfikacja, zobaczysz go trzy wykaz całą masę zip
z których każdy może być pobrane.
W rzeczywistości, dla tego problemu ustawić masz zamiar pobrać us.zip.
Teraz w tym pliku, to cała kilka danych w formacie tekstowym.
Pliki są bardzo podobne do CSV-- formacie CSV file--
ale faktycznie korzysta zakładki wyznaczenie pola.
Teraz, w międzyczasie, jeśli spojrzeć tutaj, w co już podkreślono,
pola w tym pliku będą za takie rzeczy jak kody krajów,
kody pocztowe, nazwy miejscowości, a następnie w jakiejś formie
lub innych, państwa i powiatów, społeczności i wielu innych.
W rzeczywistości, ja już mam pobrać ten plik z góry.
Pozwólcie mi iść do przodu i otworzyć go here-- us.text-- i, rzeczywiście, będziesz
zobaczyć, czy mogę przewinąć w dół do linii 16792 zobaczysz kilka rekordów do Cambridge,
Massachusetts i jego różne kody pocztowe.
Co tam można również zobaczyć to powiat, niektóre numery, które tak naprawdę nie
rozumiem, ale także wszystkich sposobem na prawo,
niektóre GPS coordinates-- długość i szerokość geograficzna.
To jest wielki, ponieważ jeden z funkcje Google Maps API
ma zdolność do wykrywania gdzie jesteś geograficznie
w odniesieniu do współrzędnych GPS.
>> Teraz zaczynają się dowiedzieć się, jak rozpoczęcie wiążąc te rzeczy razem.
Daliśmy wam całe czek kodu dystrybucji,
oraz bazy danych MySQL.
W rzeczywistości, jeśli wyciągnąć phpMyAdmin konieczności już zaimportowane, jak szybko będzie,
pset8.SQL, zobaczysz tabeli MySQL, że wygląda tak, pola ID, kraj
kod, kod pocztowy, nazwa miejsca i więcej.
Rodzaje tych wszystkich Kolumny I pochodzi po prostu
czytając readme.text plik o podanej
czy pole jest liczbą całkowitą lub varchar lub podobne.
>> Dlatego stworzyliśmy tę tabelę dla wy i wam poleceń SQL
wykonać, aby utworzyć, że Tabela w własnej bazy danych,
ale faktycznie żadnych danych w tym jeszcze.
Raczej będziesz musiał pobierz us.zip lub zip żadnego kraju
tam plik z tego adresu URL.
A potem będziesz musiał napisać skrypt z linii poleceń w PHP to
otworzy się ten tekst plik, przejść przez wszystkie swoje linie,
i dla każdego z te linie zrobić wstawkę
się, że umieszcza tabelę w bazie danych MySQL.
Tak więc na koniec tego procesu, będziesz zostały ostatecznie uruchomić ten skrypt
tylko raz w teorii.
W rzeczywistości prawdopodobnie będziesz uruchomienia go kilka razy
starając się naprawić wiele błędów.
>> Ostatecznie, będziesz mieć naprawdę duża baza danych z tysięcy
i tysiące wierszy geograficznych.
Wtedy masz zamiar umieścić ten import Skrypt bok raz to działa
i baza danych jest ładny i prawidłowe, a następnie
masz zamiar przenieść się do rzeczywistości realizacji samego mashup.
Mashup będzie wyglądać Trochę coś takiego.
Na mashup.cs50.net, że ma rozwiązanie pracowników
że wygląda trochę coś takiego.
Rzeczywiście, jeśli klikam na tej gazecie ikona na Cambridge, Massachusetts,
zobaczysz przędzenia ikonę, a następnie na krótko
uporządkowany, wypunktowanie artykułów
związane z Cambridge, w stanie Massachusetts.
Gdybym kliknij Charlestown, Massachusetts,
Zobaczę sama dla tego miasta.
A Gdybym kliknij Watertown, Massachusetts,
nie może nie być każdy news z Watertown,
więc można zobaczyć coś jak powolne dzień prasowej.
>> Teraz, w międzyczasie, na górze po lewej stronie są niektóre znajome kontrole Google Maps
aby można pomniejszyć, pan w górę, w dół, w lewo iw prawo,
ale także pole wyszukiwania, które tam umieścić.
Więc jeśli mogę szukać, szczerze mówiąc, jedynym kod pocztowy wiem,
90210, będziemy rzeczywiście zobaczyć Beverly Hills, Kalifornia.
Po kliknięciu prowadzi mnie do Kalifornia i cała masa
wieści o Beverly Hills.
Zauważcie też, co się tam stało.
Jeśli I szukaj czas na 02138 lub nawet Cambridge przecinek Massachusetts lub niektórych
wariant, można uzyskać Trochę autouzupełniania rozwijana.
Teraz to jest za pomocą wtyczki dla biblioteki o nazwie jQuery,
i że plugin nazywa wpisywanie znaków z wyprzedzeniem.
My po prostu przeczytać dokumentacja,
Ściągnąłem plik js zintegrowane do kodu dystrybucji tak, aby was
ostatecznie może napisać kod, który wypełnia tę rozwijane menu z auto
pozycje lub sugestie auto.
>> Teraz kod dystrybucji jednak, że otrzymaliście nie robi aż tak dużo.
Otrzymasz Google Map osadzone, a masz kontroli lewym górnym,
i masz pole wyszukiwania.
Ale jeśli napiszę coś podobnego 02138, nie ma miejsca są jeszcze znaleźć.
Tak, że będzie jednym z naszych celów tutaj.
Co więcej, jeśli wziąć krok tyłu i spojrzeć na samej mapie,
nie ma wiadomości w ogóle.
Nawet jeśli klikam i przeciągnij, właściwie nie ma znaczników
pojawiają się nowości, ponieważ to Wyzwaniem pozostaje dla Ciebie.
>> Rzućmy okiem następnie na kod dystrybucji.
Po pobraniu pset8.zip i rozpiął go
do katalogu vhost w CS50 Appliance,
zobaczysz je katalogi tutaj w środku.
Bin-- który stoi na ogół na binarne wykonywalnego programs--
obejmuje, podobnie jak w pset7 niektóre PHP pliki, które obejmują, inne pliki
następnie publicznego, który jest pliki, które muszą
być dostępne publicznie aby użytkownik z poziomu przeglądarki.
Rzućmy okiem na bin, a my będziemy
zobaczyć, że to plik nie wzywał importu.
Jeśli otworzymy to z gedit, zobaczymy że, niestety, nie ma zbyt wiele
nie.
Wszystko to jest, choć jest shebang na górze
która określa, które interpreter-- w tym przypadku PHP--
powinny być wykorzystywane na wykonanie tego pliku.
Ale gdzie jest napisane TODO jest, gdzie jesteś
będzie trzeba napisać kod że prawdopodobnie wymaga config
Plik, który znajduje się w katalogu includes jak już przedtem z plikami PHP.
A potem będziesz trzeba jakoś otworzyć
us.text które Cię zapewne zostały rozpakowane już.
Następnie będziesz musiał przechodzenia do linii w tym pliku,
być może przy użyciu niektórych funkcji zasugerowane w opisie.
Następnie włóż każdy z tych wiersze do bazy danych MySQL
przy użyciu funkcji zapytań, które my ponownie udostępnił with--
lub co najmniej wariant ich w functions.php,
które zobaczymy za chwilę.
>> Teraz zamknij import i wrócić do nasz katalog i tym razem pójść do
obejmuje.
A jeśli ja nie ls, zobaczysz trzy pliki dość podobne Problem Zestaw 7.
I rzućmy okiem, Na przykład, na config.php.
Tam, jest mniej linii niż wcześniej, i to
Ten plik zawiera wydaje constans.php i functions.php.
Używamy nieco inaczej Technika tym razem faktycznie
określić, że pliki te są względne do bieżącego katalogu __ DIR__
Katalog ten stanowi co pliku config.php, jest sama w.
Więc to jest bardziej wyraźny sposób określania
jakie inne pliki, które chcesz wymagają.
>> Teraz jeśli zamknę ten plik i otworzyć constans.php zamiast
zobaczysz plik bardzo przypomina Zestaw do 7 na problem, a także, choć
z innej bazy danych o nazwie pset8.
Wreszcie w functions.php, zobaczymy tylko jedną funkcję
tym razem o nazwie kwerendy.
To jest prawie taki sam, z wyjątkiem załatwiamy Błędy tym razem trochę
inaczej, ale to zastosowanie jest same jak w problemu zestaw siedmiu.
>> Teraz wróćmy do naszego pset8 katalog, przejdź do publicznej wiadomości, a tam
jeśli zrobić ls, zobaczysz this-- articles.php, index.html, search.php,
i update.php-- wszystkie pliki.
A potem czcionki css, img, a katalog js zupełnie jak pset7.
>> Rzućmy okiem na index.html, który jest
będzie bardzo punkt wejścia do smashup.
Teraz w index.html, zobaczysz całe kilka elementów łączących w głowie,
specjalnie dla bootstrap dla naszych własnych CSS, a następnie całą masę skrypcie
Tagi dla rzeczy jak mapy, API Sam, specjalny marker z etykietą
Narzędzie, że wymienione w specyfikacja jest dostępna dla Ciebie,
Sam jQuery, bootstrap sama oraz inną biblioteką
nazywa podkreślenia, które mówimy o w spec.
Underscore.js jak jquery.js jest biblioteką JavaScript
że ma całą masę funkcjonalności , że wiele osób w świecie życzenie
istniały w samej JavaScript.
Więc to wszystko jest całkiem popularne.
Mamy również wspomnieć wpisywanie znaków z wyprzedzeniem która jest biblioteką
nie, że rozwijane i autouzupełniania w końcu link do naszej własnej JavaScript.
>> W tym samym czasie i może Na szczęście, ten mashup
napędzana jest stosunkowo mała HTML tu, na dole.
Zauważ, że mamy określony div w nasz organizm płynu klasy pojemnika.
To, bootstrap na na dokumentacja, po prostu
oznacza, że ​​ten dział będzie wypełnić rzutni lub oknie przeglądarki pełni.
>> Tymczasem, poniżej mamy div który jest otwarty i natychmiast zamknięte
z unikalnym ID mapy płótnie.
To jest teraz z Google Dokumentacja mapy
jego API, dzięki czemu po prostu trzeba ma pusty div do której wstrzyknąć,
ostatecznie rzeczywistą Google Maps.
Ale o tym za chwilę.
>> Wreszcie, nie jest formą Wnętrze o których
implementuje okno się tekst gorny lewy w naszym interfejs do wyszukiwania.
Zauważ, że użyliśmy Trochę bootstrap
tutaj too-- rzeczy jak Formularz-inline i forma grupa.
Daliśmy byłego Unikalny identyfikator formularza.
A potem, w końcu, tak naprawdę mają typ wejścia, które jest dość znane,
którego identyfikator jest q.
Tylko konwencja.
Q za query-- może mieć nazywany niczego.
A potem zastępczy, w międzyczasie, to miasto, województwo,
i kod pocztowy, który można przypomnieć, widząc w naszym mashup demo wcześniej.
Zamknijmy ten plik.
>> Teraz spójrz na pliki PHP, które czekają a pliki JavaScript.
W naszych plików PHP, mamy już wdrożone dla Ciebie,
na przykład, aktualizacje.
Update.php-- nie będziemy wydawać ogromne Czas na here-- w pigułce
to, że nasz plik Kod JavaScript będzie
kontaktować się za pośrednictwem AJAX, że Technika to asynchroniczny
wbudowane w JavaScripcie te dni to pozwoli abyśmy zapytać update.php
aby uzyskać więcej informacji.
>> W szczególności, w każdej chwili użytkownik przeciągnie mapę
lub przeprowadza wyszukiwanie, który skacze użytkownika do innej lokalizacji
nasz kod JavaScript, jak to już wkrótce, jest
zamiar zadzwonić update.php i poprosić o 10 lub więcej markerów
w rzutni na podstawie od współrzędnych GPS
od góry i od dołu rogi tej mapie.
Możemy zaludnić mapę teraz użytkownik został przeniesiony do ekranu w celu
zobaczyć 10 prawdopodobnie nowa markery do różnych miast.
Tymczasem, plik ten jest ostatecznie zamierza wykonać zapytanie SQL
przeciwko naszej bazie danych Tabela o nazwie miejsca, w którym
powróci tych 10 lub mniej miejsc.
>> Tymczasem w articles.php jest innym złożyć pisaliśmy w całości.
Jest bardzo podobny w duchu Funkcja WYSZUKAJ Problem zestaw 7, w
który skontaktował Yahoo Finance dla Ciebie.
Ten plik kontaktów Google News dla Ciebie, ostatecznie chwytając
odczytu maszynowego version-- w coś
nazywa RSS format-- z nowości do Cambridge lub Beverly Hills
lub cokolwiek miasto szukałeś na podstawie tego geoparameter.
My analizować ten RSS, który jest po prostu rodzaj języka znaczników XML o nazwie,
i wtedy rzeczywiście zwrócić go do przeglądarki
i do kodu JavaScript, W szczególności, w formie zwany
JSON, JavaScript Object Notation.
Teraz zobaczysz w specification-- wskażemy ci
w jaki sposób można rzeczywiście zobaczyć niektóre JSON nadchodzącym back--
że funkcja ta ostatecznie pozwala zapełnić te popup menu, tak
że po kliknięciu na znacznik w mapie
rzeczywiście zobaczyć całą masę kul, z których każda
linki do artykułu.
>> Teraz rzućmy okiem na jeden ostatni Plik PHP, który, na szczęście, nie
mają wiele dzieje on-- po prostu dość duży TODO.
Teraz ten plik oświadcza tablica o nazwie miejsca.
A następnie ostatecznie wydruki że tablica w JSON format--
ładna, drukowanie tak, że rzeczy są łatwiejsze do debugowania.
Niestety, w środkowa nie jest to zadanie,
który wzywa do wyszukania baza miejsc pasujących geo HTTP
parametrów.
>> I rzeczywiście, to będzie być jednym z challenges--
do wdrożenia tej funkcji tutaj tak, że gdy kontakt ten plik
URL jak wyszukiwania. php? geo = coś, Twój kod będzie ostatecznie powrócić do JSON
Tablica wszystkich miejscach w tabeli bazy danych, która pasuje do tego wejścia.
Więc jeśli użytkownik wpisze w Cambridge, plik o search.php
powinien ostatecznie powrócić tablicy JSON dla wszystkich meczach Cambridge,
który może być w stanie Massachusetts ale może być jeszcze nigdzie indziej.
>> Wreszcie, rzućmy okiem na dwa Pliki, które są ultimately-- statyczne
Twój plik CSS, a plik JavaScript.
Jeśli pójdę do naszego katalogu, CSS, istnieje cała masa plików tam,
ale większość z nich są biblioteki.
Zamierzam przyjrzeć, specjalnie na styles.css,
co jest nasze własne globalne CSS to będzie stylizować cały ten mashup.
Zostawię go, aby przeczytać komentarze tutaj, ale w skrócie,
to jest CSS, który sprawia, że ​​nasza mashup domyślnie po wyjęciu z pudełka,
Wygląda dokładnie tak jak chcemy it-- z mapą widok portu napełniania
i poszukiwania box się w lewym górnym rogu.
Podjęliśmy również wolność stylizując że wpisywanie znaków z wyprzedzeniem listy rozwijanej
Menu trochę jak również.
>> Najważniejszym pliku Być może dla tego problemu ustawić
Jest to ostatni, scripts.js.
Wewnątrz katalogu JS jest jeszcze więcej plików.
Wszystkie z nich są pliki biblioteki z wyjątkiem tego jednego, scripts.js.
Jeśli otworzymy tę górę, weźmy nasze Ostateczna Wycieczka przez funkcje, które
są zbudowane z tym dokumentem dla Ciebie i zwrócić uwagę
do Todos które stoją przed nami.
>> Na górze tego pliku są trzy zmienne globalne.
Jeden na mapie, które zamierza odniesienie do naszej mapie Google.
Możesz myśleć o tym rodzaj jako wskaźnik.
Tymczasem mamy kolejna zmienna globalna
nazywa informacji, które wydaje się być przechowywania wartości zwracanej rozmowy
do nowego google.maps.InfoWindow.
JavaScript obsługuje obiektów, które są bardzo podobne w duchu do poprzeczne.
A co to za linia nasze cele robi
tworzy nowe informacje Okno w pamięci, a następnie
utrzymywanie wokół zadanej do niego w zmiennej o nazwie Info.
A w między tymi, Tymczasem, jest to, co pojawia się
być pusta JavaScript Tablica nazywa znaczniki.
Wszystkie z tych ikon gazet, albo może wybrać inną ikonę całkowicie,
będą przechowywane ostatecznie w tej tablicy
tak, że można bardzo łatwo dodać do Mapa i usunąć je z mapy.
>> Teraz przejdź na dół trochę i świst
za pomocą kodu, który będzie realizowane tak szybko jak DOM lub dokumentu
model obiektu lub Sama strona jest gotowa.
Przypomnijmy, że tej składni tutaj po prostu określa
że poniższy kod powinny być wykonywane tylko
gdy przeglądarka zakończy loading wszystko.
>> Najpierw zadeklarować cała masa stylów,
która kończy się stylizując Mapa jak na spec.
Następnie zadeklarować cała masa opcji,
co jeszcze bardziej dostosować Google Mapa, że ​​jesteśmy o osadzić.
Następnie używamy trochę kodu jQuery, co wynika w nieco bardziej szczegółowo
w specyfikacji, aby pobrać ten element, map-canvas
że tak identyfikowany.
A potem ta linia tutaj jest co wydaje się nam magicznie
mapa Google wewnątrz nasza aplikacja,
przechowywania odniesienie do nich w tej zmiennej o nazwie mapie.
>> Wreszcie, możemy zarejestrować się tutaj co nazywa słuchaczem.
Pomyśl back-- sposób, sposób back-- do tygodnia zerowej w CS50
kiedy spojrzał na zarysowania i jego wsparcie poprzez spacer
przez rzeczy zwanych imprezy i audycje.
Nie może być stosowany to sam, ale to
mechanizm, dzięki któremu Przeglądarka w tym przypadku
mogą zwrócić naszą uwagę, gdy jest to gotowe by wykonać jakiś kod.
W tym przypadku, to będzie słuchać do mapy na imprezę o nazwie bezczynny.
Oznacza to, że przeglądarce zakończeniu ładowania mapy Google.
W tym momencie funkcja nazywa Configure powinien ostatecznie
wykonania.
To funkcja, konfigurowanie zobaczymy, jest napisane przez nas.
>> Teraz tutaj jest funkcja niestety, że
jest tylko markerem TODO dodatek.
Na spec. będziesz potrzebować do pisania kodu, które faktycznie
dodaje marker-- czy to wygląda jak gazety, lub halsie kciuka,
lub coś else-- na mapie Google.
Tu jest teraz, że funkcja nazywa configure.
Zostawię go do przeczytania przez to bardziej szczegółowo
ale sobie sprawę, że możemy dodać bandą więcej Słuchaczy
tak, że można wykonać kod przy użytkownik kliknie i wyciąga mapę.
Mamy też tutaj, że kod inicjuje ten plugin wpisywanie znaków z wyprzedzeniem
tak, że rozwijana Menu faktycznie działa.
>> Skupmy się jednak na tak Kilka miejsc w niniejszym dokumencie.
Konkretnie, to tutaj zrobić.
Ja odroczyć do on-line dokumentacji i specyfikacji
na jak wypełnić ten TODO.
Ale w skrócie, to biblioteki wpisywanie znaków z wyprzedzeniem pozwala przejść
w jakich jest powszechnie znane jako matrycę która ma pewne zmienne zastępcze
bardzo w duchu podobnym do printf w%. * s.
Jednak w tym przypadku, Szablon na spec
umożliwia określenie co zmienne chcesz
wstrzyknąć z danych, które pochodzą z powrotem z czymś takim jak PHP
Pliki, które zostały napisane które emitują wyjście JSON.
>> Teraz tu sobie sprawę, że jesteśmy nasłuchując wyborów wpisywanie znaków z wyprzedzeniem
gdy użytkownik faktycznie prowadzi wyszukiwać i wybiera wartość.
W ten sposób jesteśmy w rzeczywistości będziemy słuchać, że
i wykonać jakiś kod w wyniku.
Potem nadal skonfigurować mashup tylko trochę.
I, ostatecznie, nazywamy aktualizacja ta funkcja.
Aktualizuje ona znaczniki na ekranie.
Więcej o tym za chwilę.
Tymczasem, istnieje kilka małe funkcje w tutaj.
Z których jeden jest hideInfo które po prostu zamyka InfoWindow.
Inną funkcją jest tutaj co ostatecznie nie będzie zbyt długi, należy usunąć znaczniki.
To będzie cofnąć, co Twoja funkcja Marker dodatek robi.
A potem tu jest wyszukiwarka.
A ten jest interesujący, ponieważ my Napisałem kod JavaScript, który jest
Porozmawiamy z search.php na Serwer i wrócić na pewne postępy.
>> Możesz, oczywiście, będzie nadal należy wdrożyć search.php,
ale już wdrożone Kod JavaScript, który jest
będzie obsługiwać faktycznie wykonujący wyszukuje z tego pola tekstowego.
W szczególności, uprzedzenia że funkcja tutaj
wyszukiwania, zwoła search.php metodą zwaną
uzyskać JSON, który widzieliśmy w wykładzie.
I tu składni jest trochę inaczej
z wykładu, że używamy jQuery tak zwany interfejs obietnica.
Więcej na ten temat w specyfikacji.
To oznacza dla naszych cele, teraz, że istnieją
Są dwie funkcje specjalne my trzeba zadzwonić z notacji z kropkami
tutaj natychmiast po wywołaniu uzyskać JSON.
Jeden nazywa się zrobić.
Jeden nazywa się niepowodzeniem.
Można myśleć o nich jako przewodnika sukcesu
i obsługi awarii wystarczy w przypadku gdyby coś poszło nie tak.
>> Teraz spójrzmy na ostatnie Kilka funkcji w tym pliku.
Tutaj jest funkcja nazywa showInfo, które
pokazuje informacje w jednym z tych, małe okna informacyjne, które
pojawia się, gdy użytkownik kliknie znacznik.
Tu dalej jest że funkcja aktualizacji
które wdrożyliśmy dla Ciebie.
To określa granice mapie.
Jakie są współrzędne GPS z jego na północny wschód, a rogi na południowy zachód tutaj.
Przygotowaliśmy kilka parametrów HDP tu, a następnie przepuszczono je ostatecznie
do update.php, które mamy również realizowane dla Ciebie.
Że ostatecznie wróci trochę JSON z pliku o nazwie update.php
a następnie usuwa wszelkie markery na ekranie
i następnie przechodzi nad Dane, które się wrócić
z update.php, które znowu jest tylko tablicą JSON.
A następnie ostatecznie dodaje marker każde z tych miejsc, brak obsługi
lub błędy, które mogą bardzo dobrze się stało.
>> Teraz po prostu dać ci smaku, w jaki sposób może przejść o debugowanie tego projektu,
sobie sprawę, że mam otwarty w przejść tę kartę, żeby tego adresu URL,
pset8 / articles.php? geo = 02138.
Teraz, ponownie, artykuły o PHP wdrożyliśmy dla Ciebie
więc to nie jest tak dużo co będziesz przy użyciu
do debugowania, ale raczej z techniką.
Uwaga, rozglądałem się za Cambridge kod tutaj, zip,
i stałam powrotem, rzeczywiście, JSON Tablica JSON obiektów wewnątrz której
są dwa keys-- Link i tytuł.
>> Więc ta funkcjonalność pracuje już dla Ciebie.
Ale ta technika będzie ręcznie do adresu URL, jak to coś jak
search.php? geo = Cambridge lub 02138 lub co użytkownik wpisane powinny
okazać się bezcenne, jak ty sam, spróbuj dowiedzieć się dokładnie, czy i dlaczego
search.php działa lub nie.
>> Ostatecznie więc, masz Kilka TODO przed tobą.
Idziesz do pierwszych narzędzi że skrypt import, że
Czytamy w us.text do bazy danych.
Jesteś wtedy będzie trzeba do wdrożenia search.php
tak, że zachowuje się dokładnie tak, jak podano.
Jesteś wtedy będzie chciał skupić się na scripts.js
i ostatecznie realizuje tych kilka todos,
w tym do skonfigurowania i że szablon,
dodawanie znaczników, usuń znaczniki, a to trwało, ale nie najmniej, jeden
osobisty kontakt.
>> Po Twojej pracy mashup zupełnie jak nasza, celem pod ręką
jest, aby dodać osobisty dotykać do mashup,
czy to estetyczne i funkcjonalne.
Weź mashup kiedykolwiek tak nieznacznie do następnego poziomu.
Tak długo, jak wcisnąć się poza Twoja znajomość samej specyfikacji
i odebrać jedną technikę nowe, nawet jeśli jest to tylko
coś estetycznego jak zmiana Układ mapie, że używasz,
Zakres, że oczekujemy będą zadowoleni.
Że to jest problem Zestaw 8 Mashup.
Czekajcie na więcej w Specyfikacja i powodzenia
zaradzenie temu, Twoja ostatnia Problem CS50 ustawić kiedykolwiek.
>> [MUZYKA GRY]