>> [Muzikos grojimo]
>> David J. Malan: Sveiki.
Paimkime pasivaikščioti Problema rinkinys 8 Mashup,
kurie ketina iššūkis jums pasitelkti elementų "Google Maps"
su elementais iš "Google News" ir košė juos kartu į interneto programėlės, kad
leidžia vartotojams ieškoti Žemėlapis naujienas vietos
konkrečių miestų miestų, ir ZIP kodai.
Norėdami tai padaryti, mes ketiname integruoti šiek HTML, CSS, PHP, SQL,
JavaScript ir technika paprastai žinomas kaip AJAX, kad
sukurti tai svaiginančius vartotojo patirtį.
>> Tegul pirmasis pati "Google Maps".
Tai, žinoma, yra galbūt susipažinęs sąsaja.
Tačiau paaiškėja, kad "Google Maps" taip pat suteikia API-- taikymą
programavimo interface--, per kurį galite imtis elementus "Google Maps"
ir integruoti juos į savo programas.
Iš tiesų, per visą šį procesas, jūs ketinate
rasti URL pora ypač naudinga, kad
paminėti specifikacija problemą, 8,
specialiai tai Getting Started Turistinis vadovas arba kūrėjas vadovas
"Google Maps API Versija 3, taip pat kaip "Google Maps" Java API
v3 nuoroda, kuris yra šiek tiek daugiau paslaptingą skaityti
bet iš tikrųjų turi visas žemesnio lygio Išsamiau apie tai, ką funkcijų ar metodų
ir objektus ir savybes ir įvykiai iš tikrųjų ateiti su API
labai panaši dvasia į [nesigirdi] puslapiuose.
>> Dabar, jei mes pažvelgsime ne "Google News", jums
galbūt pamatyti pažįstamą sąsają čia.
Tačiau paaiškėja, jūs taip pat galite ieškoti "Google" naujienos konkrečių geografijos
per HTTP parametras vadinamas Geo.
Iš tiesų, jei aš padidinti čia, pamatysite, kad
Aš ne news.google.com/news/section?geo=02138.
Ir, iš tiesų, jei aš padidinti , jūs pamatysite, kad aš
žiūri puslapį su visa krūva nuomonę apie Cambridge, Massachusetts.
>> Tuo tarpu, jei aš iš tikrųjų keisti URL negali būti pašto kodas, kaip tai,
bet kažkas šiek tiek Messier kaip Cambridge, + Massachusetts,
kur pliusas yra būdas jums koduoti tarpas per URL ir paspauskite Enter,
Jūs pamatysite, kad aš iš tikrųjų pamatyti beveik tą pačią žinią.
Galbūt tai šiek tiek skiriasi nes Kembridžo tikrųjų
turi kelis zip kodus.
Dabar kaip man žinoti, kad ir Iš tiesų, kaip galėčiau kažkaip
tie miestai ir miesteliai zip kodai byloje I
nori leidžia naudotojui ieškoti bet?
Na, paaiškėja, kad yra svetainė ten vadinamas
geonames.org kuris yra iniciatyva turi
laisvai prieinama duomenų bazė visų rūšių geografinės informacijos
ne tik JAV, bet taip pat kitų šalių, taip pat.
Iš tiesų, jei aš einu į šį URL čia, o taip pat paminėtas problemos nustatytą
specifikacija, pamatysite, kad tai trys sąrašas visa krūva zip failus
bet kurią galima atsisiųsti jums.
Iš tiesų, dėl šios problemos, nustatyti jūs ketinate atsisiųsti us.zip.
Dabar per šį failą, yra sveiki krūva teksto formato duomenyse.
Failai yra labai panašus į CSV-- kableliais atskirtos reikšmės file--
bet ji iš tikrųjų naudoja skirtukų atskiria laukus.
Dabar, tuo tarpu, jei peržvelgsite čia ne tai, ką aš pabrėžė,
kad šioje byloje laukai vyksta būti dalykų, pavyzdžiui, šalių kodų,
pašto kodai, vietovardžiai, ir tada, kai kuriose forma
ar kitų, valstybės ir apskričių, bendruomenės, ir dar daugiau.
Tiesą sakant, aš jau ve atsisiųsti šį failą, iš anksto.
Leiskite man eiti į priekį ir jį atidaryti here-- us.text-- ir, tiesą sakant, jūs
pamatyti, jei aš slinkite žemyn linija 16.792 pamatysite keletą įrašus Cambridge,
Masačusetsas ir įvairių pašto kodai.
Ką taip pat žr yra apskrities, Kai kurie skaičiai, kad aš tikrai ne
suprasti, bet ir visos dešinėje būdas,
kai GPS coordinates-- platuma ir ilguma.
Tai yra didelis, nes vieną iš "Google" žemėlapių API funkcijos
yra gebėjimas nustatyti kur esate geografiškai
kalbant apie GPS koordinates.
>> Dabar pradėkime išsiaiškinti, kaip pradėti susiejimas šiuos dalykus kartu.
Mes davė jums visa krūva platinimo kodą,
o taip pat MySQL duomenų bazės.
Iš tiesų, jei aš traukti phpMyAdmin turintys jau importavo, kaip jūs netrukus bus,
pset8.SQL, pamatysite MySQL lentelę, atrodo taip, ID laukas, šalis
kodas, pašto kodas, vietovės pavadinimas ir dar daugiau.
Visų tų tipų stulpeliai aš kilęs tiesiog
skaitant readme.text pateikti, kad čia nurodyta
ar laukas yra sveikasis skaičius, arba varchar ar pan.
>> Taigi, mes sukūrėme šią lentelę už jūs ir davė jums SQL komandas
vykdyti sukurti, kad lentelę savo duomenų bazėje,
bet ten tikrai nėra jame nepateikė.
Atvirkščiai, jūs ketinate turi parsisiųsti us.zip arba bet kurios šalies pašto
failą iš šio URL ten.
Ir tada jūs ketinate turi parašyti komandinės eilutės scenarijų PHP tai
ketina atverti tą tekstą byla, pakartoti per savo linijas,
ir tada kiekvieno iš tie linijos padaryti intarpą
į tą vietose lentelę jūsų MySQL duomenų bazės.
Taigi šio proceso pabaigoje, jums buvo paleisti tą scenarijų, galiausiai
tik vieną kartą teoriškai.
Iš tikrųjų jums tikriausiai paleisti jį keletą kartų krūva
o bando išspręsti įvairias klaidas.
>> Galų gale, jūs ketinate turėti tikrai didelis duomenų bazė su tūkstančiais
ir tūkstančiai geografinių eilučių.
Tada jūs ketinate įdėti, kad importas Scenarijus nuošalyje, kai jis dirba
ir jūsų duomenų bazė yra gražus ir teisinga, ir tada
jūs ketinate pereiti, kad iš tikrųjų Įgyvendinant pati Mashup.
Mashup ketina ieškoti tiek kažką panašaus į tai.
Tuo mashup.cs50.net, mes turėti darbuotojų sprendimą
kad atrodo šiek tiek kažką panašaus į tai.
Iš tiesų, jei aš spustelėkite šio laikraščio piktograma, Cambridge, Massachusetts,
pamatysite verpimo trumpai ir tada piktogramą
įsakė sąrašas ženkleliais straipsnių sąrašas
susiję su Cambridge, Massachusetts.
Jei aš spustelėkite Charlestown, Masačusetsas,
Aš pamatysite tam miestui pats.
Ir jei aš spustelėkite Watertown, Masačusetsas,
ten gali būti ne bet koks naujienos iš Watertown,
todėl jūs pamatysite kažką kaip lėtai naujienų dieną.
>> Dabar, tuo tarpu, viršuje kairėje yra kai pažįstami Google Maps valdikliai
kad jums nutolinti, visos aukštyn, žemyn, į kairę, ir į dešinę,
bet ir paieškos laukelio, kad mes įdėti ten.
Taigi, jei aš ieškoti, tiesą sakant, Vienintelis kitas Pašto kodas žinau,
90210, mes iš tikrųjų matyti Beverly Hills, Kalifornija.
Kai paspaudžiate jis veda mane Kalifornijoje ir visa krūva
naujienų apie Beverly Hills.
Dabar pastebėsite, taip pat, kas nutiko ten.
Jei aš šį kartą paieška 02138 ar net Kembridžo kablelis Masačusetsas arba kai
variantas dalį, jūs gaunate mažai Automatinis išskleidžiamajame.
Dabar tai yra naudojant pluginą už bibliotekos vadinamas JQuery,
ir kad įskiepiai vadinamas typeahead.
Mes tiesiog perskaityti dokumentus,
atsisiuntė js failą integruota skirstomajame kodas, kad jums
galiausiai gali rašyti kodą, kad užpildo, kad išskleidžiamajame meniu su auto
pasirinkimai arba auto pasiūlymus.
>> Dabar paskirstymo kodas, nors, kad gavote nedaro beveik tiek pat.
Jūs gaunate Google žemėlapis integruotas ir gausite kontrolę viršutiniame kairiajame,
ir gausite paieškos langelį.
Bet jei aš tipo kažkas panašaus 02138, nėra vietos randama dar.
Taigi, kad tai bus vienas iš mūsų tikslų čia.
Be to, jei jūs žengti žingsnį atgal ir pažvelgti į patį žemėlapį
nėra naujiena kokia.
Net jei aš spustelėkite ir pasipriešinimas, nėra žymekliai iš tikrųjų
pasirodo naujienų, nes tai iššūkis paliekama jums taip pat.
>> Paimkime pažvelgti tada skirstymo kodu.
Kai jūs įkėlėte pset8.zip ir Išspausti ją
į savo VHOST kataloge į CS50 Appliance,
pamatysite jų katalogų čia viduje.
Bin-- kuris paprastai reiškia dvejetainę vykdomąjį programs--
apima, kaip pset7, kai PHP failai, kad kiti failai gali būti,
tada viešasis, kuris yra failai, kuriuos reikia
turi būti viešai prieinami į naudotojo naršyklėje.
Paimkime į išvaizdą bin, ir mes
matyti, kad ten failą ten jau vadinamas Importas.
Jei mes atidaryti tai su gedit, matysime kad, deja, nėra daug
ten.
Visa tai ten, nors, yra viršuje Szulernia
kuriame nurodoma, kurios interpreter-- šiuo atveju PHP--
turėtų būti naudojama, kad iš tikrųjų vykdyti šį failą.
Bet tada, kai jis sako TODO kur esate
ketinate reikia rašyti tam tikrą kodą kad tikriausiai reikia config
failas, tai yra apima katalogą kaip mes padarėme anksčiau su PHP failus.
Ir tada jūs ketinate turi kažkaip atverti
us.text kuri jums turbūt išarchyvavote jau.
Tada jūs ketinate turi pakartoti per šios bylos linijos,
galbūt naudojant kai kurios funkcijos siūloma specifikacijos.
Tada įdėkite kiekvienas iš jų linijos į MySQL duomenų bazės
naudojant užklausos funkciją, kuri mes vėl pateikėme jums with--
arba bent jau variantas jos į functions.php,
kuri mes matome tik akimirką.
>> Dabar galime uždaryti importą ir grįžti į Mūsų katalogas ir šį kartą eiti į
apima.
Ir jei aš ls ten, pamatysite trys failai gana kaip problemą, 7.
Ir tegul priimti greitai pažvelgti, Pavyzdžiui, tuo config.php.
Ten yra mažiau linijos nei anksčiau, ir tai
Atrodo šį failą apima constants.php ir functions.php.
Mes naudojant šiek tiek skiriasi technika šįkart iš tikrųjų
nurodo, kad šie failai yra santykinė į esamą katalogą __ DIR__
atstovauja kokia katalogas ši failą, config.php, pati į.
Taigi, tai yra daugiau aiškus būdas nurodant
ką kiti failai norite reikalauti.
>> Dabar, jei aš uždaryti šį failą ir atverti constants.php vietoj to,
pamatysite failą labai primena į problemą, 7, o taip pat, nors ir
su kitu duomenų bazė, vadinama pset8.
Galiausiai, functions.php, matysime tik vieną funkciją
šį kartą vadinamas užklausa.
Tai yra beveik vienodi, išskyrus mes rankena klaidų šįkart truputį
skirtingai, bet tai naudojimas yra Tas pats kaip ir problemos nustatyti septyni.
>> Dabar grįžkime į mūsų pset8 katalogas, eiti į visuomenę, o ten
jei aš ls, pamatysite this-- articles.php, index.html, search.php,
ir update.php-- visus failus.
Ir tada css šriftai, img, ir JS katalogas labai patiko pset7.
>> Paimkime pažvelgti index.html, kuris yra
bus tikrai įvažiavimo į smashup.
Dabar index.html, pamatysite visą krūva link elementų galvos,
Konkrečiau, bootstrap mūsų pačių CSS po visa krūva scenarijų
žymės dalykų, pavyzdžiui, žemėlapiai, API pati, specialiu žymekliu su etikete
įrankis, kad mes paminėti specifikacija yra prieinami jums,
Pati JQuery, įkrovos pati, o kitas biblioteka
vadinamas pabraukimas, kuri mes kalbame apie į spec.
Underscore.js kaip jquery.js yra įjungti biblioteka
kad yra visa krūva funkcionalumą kad daug žmonių pasaulyje nori
egzistavo pati JavaScript.
Taigi, visi iš jų yra iš tikrųjų yra gana populiarus.
Mes taip pat paminėjo typeahead kuris yra biblioteka, kuri
ar tai Automatinis išskleidžiamajame ir pagaliau nuorodą į mūsų JavaScript.
>> Tuo tarpu, ir galbūt Laimei, tai Mashup
yra varomas palyginti mažai HTML žemyn čia apačioje.
Atkreipkite dėmesį, kad mes nurodėte div mūsų kūnas klasės konteinerių skysčio.
Tai per savirankos s dokumentus, tik
reiškia, kad šis skyrius ketina užpildyti peržiūros ar naršyklės langas visiškai.
>> Tuo tarpu, žemiau, kad mes turime div Štai atidaryti ir nedelsiant uždaryti
su unikaliu ID žemėlapyje drobės.
Tai dabar iš "Google" Žemėlapiai dokumentacija
savo API, kuriuo Aš tiesiog reikia turi tuščią div, į kurią įleisti,
galiausiai faktinė "Google Maps".
Bet daugiau, kad tik šiek tiek.
>> Galiausiai, yra forma viduje čia kuris
įgyvendina teksto laukelis iki viršaus kairės mūsų sąsaja paieškai.
Atkreipkite dėmesį, kad mes naudojamas bootstrapu tiek
čia too-- dalykų, pavyzdžiui, forma-inline ir forma-grupė.
Mes skiriamas buvęs unikalus ID formą.
Ir tada, galiausiai, aš iš tikrųjų turi įvesties tipo, kuri yra gana artima,
kurio ID yra q.
Tiesiog konvencija.
Klausimas dėl query-- gali turėti buvo vadinamas nieko.
Ir tada rezervavimo ženklas, tuo tarpu, yra miestas, valstija,
ir pašto kodas, kuris jums gali prisiminti matome mūsų Mashup demo anksčiau.
Leiskite uždaryti šį failą.
>> Dabar pažvelgti PHP failus atrodo, kad laukia, o tada JavaScript failus.
Mūsų PHP failus, mes jau įgyvendino už jus,
pavyzdžiui, patobulinimus.
Update.php-- mes ne išleisti didžiulis suma laiko here-- trumpai
yra failas, kad mūsų JavaScript kodas vyksta
susisiekti per AJAX, kad asinchroninis technika, yra
pastatytas į "JavaScript" šių dienų, kad yra ketina leidžia mums užduoti update.php
Daugiau informacijos.
>> Tiksliau, kada vartotojas užsitęs žemėlapį
arba atlieka paiešką, šokinėja į kitą vietą vartotojas,
mūsų JavaScript kodą, kaip mes netrukus pamatysite, yra
ketinate skambinti update.php ir paprašyti 10 arba tiek žymekliai
per peržiūros remiantis GPS koordinačių
iš viršuje ir apačioje kampai tos žemėlapyje.
Tada mes galėsime repopulate žemėlapį, kad dabar vartotojas persikėlė į tam ekraną
pamatyti 10 tikriausiai naujo žymekliai įvairių miestų.
Tuo tarpu, šis failas yra galiausiai ketina įvykdyti SQL užklausa
prieš mūsų duomenų bazėje stalo vadinamas vietos, kurios
ketina grįžti tiems, 10 ar mažiau vietos.
>> Tuo tarpu, articles.php, yra dar vienas pateikti mums parašiau visas.
Jis yra labai panašus į dvasia Problemą, 7 "LOOKUP funkcija,
susisiekė Yahoo Finance už jus.
Šis failas kontaktai "Google" Naujienos Jums, galiausiai greiferiniai
Mašininio nuskaitymo version-- kažką
vadinamas RSS format-- naujienų už Kembridžo ar Beverly Hills
ar kas mieste jūs ieškojote už remiantis šia geoparameter.
Mes parse, kad RSS, kuri yra tik tipo žymėjimo kalba vadinama XML,
ir tada mes iš tikrųjų grąžinkite ją į jūsų naršyklėje
ir jūsų "JavaScript" kodą, Konkrečiau, tokiu formatu, vadinamas
JSON, JavaScript objektas Žymėjimas.
Dabar jūs pamatysite specification-- mes jums atkreipti
ne, kaip jūs iš tikrųjų galite pamatyti kai kurie iš JSON ateinantį back--
kad ši funkcija galiausiai leidžia jums užpildyti tuos iššokantį meniu taip
kad kai paspausite ant žemėlapio persekiotoją
jūs iš tikrųjų pamatyti visa krūva kulkų, kiekviena iš kurių
Nuorodos į straipsnį.
>> Dabar galime pažvelgti vienas paskutinis PHP failas, kuris, laimei, nėra
turi daug vyksta on-- tik gana didelis TODO.
Dabar šį failą deklaruoja masyvas vadinamas vietas.
Ir tada galiausiai atspaudai kad masyvas JSON format--
gana spausdinimo ją tik todėl, kad viskas yra lengviau derinti.
Deja, viduryje yra tai TODO,
kurioje raginama ieškoti duomenų bazė vietų atitikimo GEO HTTP
parametras.
>> Ir, tiesą sakant, tai vyksta būti vienas iš jūsų challenges--
įgyvendinti šią funkciją čia taip, kad kai jums susisiekti su šį failą
kaip ieškoti URL. PHP? GEO = kažkas, Jūsų kodas galiausiai grąžinti JSON
masyvas visi iš vietų jūsų duomenų bazės lentelę, kad atitiktų tą įvestį.
Taigi, jei vartotojas tipų Cambridge, Jūsų failas čia search.php
galiausiai turėtų grąžinti JSON masyvo visiems už Kembridžo rungtynes,
kuris gali būti Massachusetts bet gali būti dar niekur kitur.
>> Galiausiai, leiskite pažvelgti dviem failų, kurie yra statinio ultimately--
Jūsų CSS failą ir jūsų "JavaScript" failą.
Jei aš einu į mūsų CSS kataloge ten visa krūva failų ten,
bet dauguma iš jų yra bibliotekų.
Aš ruošiuosi pažiūrėti, Tiksliau, ne styles.css,
kuris yra mūsų pačių pasaulinė CSS tai ketina Stilizuoti visą šį Mashup.
Aš paliksiu jį perskaityti per komentarai čia, bet, trumpai tariant,
tai atitinka CSS, kuri užtikrina, kad mūsų Mashup, pagal nutylėjimą out of the box,
atrodo lygiai taip, kaip mes norime it-- su žemėlapiu užpildančiu vaizdo prievadas
ir su paieškos Jūklis viršuje kairėje.
Mes taip pat atsižvelgiama į laisvę stylizing kad typeahead išskleidžiamajame
meniu šiek tiek, taip pat.
>> Svarbiausia failą Tikriausiai dėl šios problemos nustatytą
tai paskutinis, scripts.js.
Viduje jūsų JS kataloge yra dar keli failai.
Visi iš jų yra bibliotekos failus išskyrus šį vieną, scripts.js.
Jei mes atidaryti tai padaryti, galime imtis mūsų Galutinis turas per funkcijas,
yra pastatytas į šį failą Jums ir atkreipti dėmesį
į Todos, kurie laukia ateityje.
>> Tuo šio failo viršuje, Yra trys globalių kintamųjų.
Vienas už žemėlapyje, kuri vyksta iki būti nuoroda į mūsų "Google" žemėlapyje.
Jūs galite galvoti apie tai, rūšiuoti kaip žymeklį.
Tuo tarpu mes turime kitas pasaulio kintamasis
vadinamas informacijos, kuri, atrodo, saugoti vertės grąžintą skambučio
į naują google.maps.InfoWindow.
JavaScript palaiko objektus, kurie yra labai panašus į dvasią statramsčius.
Ir ką tai linija Mūsų tikslai daro
kuria naują informacijos langas į atmintį ir tada
išlaikant maždaug nuoroda ja į kintamąjį vadinamą informacija.
Ir tarp tų, tuo tarpu, yra tai, kas atrodo
būti tuščias Javaskriptą masyvas vadinamas žymekliai.
Visi šie laikraščių piktogramos, ar jūs gali pasirinkti kitą piktogramą iš viso,
vyksta turi būti saugomi galiausiai šio masyvo
kad galėtume labai lengvai pridėti prie Žemėlapis ir pašalinti juos iš žemėlapio.
>> Dabar tegul slinkite žemyn šiek tiek ir nusišvilpti
per kodą, kuris ketina būti įvykdyti, kai tik DOM ar dokumento
objekto modelis ar Pats puslapis yra pasirengusi.
Prisiminkite, kad šios sintaksę čia paprasčiausiai nurodo,
kad šį kodą turėtų būti vykdomas tik
kai naršyklė baigė pakrovimo visa kita.
>> Mes pirmą kartą paskelbti visa krūva stilių,
kurios galų gale stylizing žemėlapis, kaip už spec.
Mes tada deklaruoti visa krūva variantų,
o tai dar labiau pritaikyti Google Žemėlapis kad mes apie įterpti.
Tada mes naudojame jQuery kodą tiek, kuris yra paaiškinta bit išsamiau
į spec, patraukti kad elementas, žemėlapis-drobė
kad mes taip unikaliai identifikuojamos.
Ir tada ši linija čia yra kas atrodo stebuklingai mums
Google žemėlapis viduje mūsų prašymas,
saugoti nuorodą į jį toje kintamojo vadinamas žemėlapyje.
>> Galiausiai, žemyn čia mes registruotis tai, kas vadinama klausytojas.
Pagalvokite back-- būdas, būdas back-- iki nulio savaitę CS50
kai mes pažvelgė nulio ir savo paramą per pėsčiomis
per dalykų, vadinamų renginiai ir transliacijas.
Jūs galite ne naudojote tai sau, bet tai
mechanizmą, pagal kurį naršyklė šiuo atveju
galite gauti mūsų dėmesį, kai jis pasirengę iš tikrųjų vykdyti tam tikrą kodą.
Šiuo atveju, ji ketina klausytis į žemėlapį atveju vadinamas nenaudojamas.
Tai reiškia, kad naršyklė turi Įdėję Google žemėlapį.
Tuo metu vadinama funkcija Konfigūruoti galiausiai turėtų
būti įvykdytas.
Ši funkcija, konfigūruoti, matysime, yra parašyta mūsų.
>> Dabar žemyn čia yra funkcija kad, deja,
yra tik TODO ĮDĖTI žymeklis.
Per spec. jūs ketinate reikia rašyti kodą, kad iš tikrųjų
prideda marker-- ar jis atrodo kaip laikraštį, ar nykščio Tack,
ar kažkas else-- į "Google" žemėlapyje.
Čia dabar yra tai, kad funkcija vadinamas konfigūruoti.
Aš paliksiu jį perskaityti per tai išsamiau,
bet suprantu, kad mes pridėti krūva daugiau klausytojai
kad galėtume vykdyti kodą, kai vartotojas paspaudžia ant ir valytuvai žemėlapį.
Mes taip pat turime kodą čia inicijuoja, kad typeahead įskiepį
kad išskleidžiamajame Meniu iš tiesų veikia.
>> Bet tegul dėmesio tik pora vietų čia.
Tiksliau sakant, tai padaryti čia.
Aš atidėti į internete dokumentacija ir specifikacija
kiek užpildyti šią TODO.
Bet trumpai tariant, tai biblioteka typeahead leidžia perduoti
į tai, kas paprastai žinomas kaip šabloną, kurie turi tam tikrų kintamųjų pamainymų
labai panašios dvasios printf anketa%. * s.
Bet šiuo atveju, Šablonas už spec
leidžia jums nurodyti Kokie kintamieji norite
švirkšti iš duomenų, kad manimi priekį atgal iš kažką panašaus PHP
failus, kuriuos parašiau kurie yra spinduliuojantis JSON produkcija.
>> Dabar žemyn čia suprantame, kad esame klausytis už typeahead pasirinkimus
kai vartotojas iš tikrųjų atlieka ieškoti ir pasirenka vertę.
Tai kaip mes iš tikrųjų ketinate klausytis, kad
ir vykdyti tam tikrą kodą, kaip rezultatas.
Tada mes ir toliau konfigūruoti Mashup tik truputį.
Ir, galiausiai, mes vadiname ši funkcija atnaujinti.
Jis atnaujina ekrane žymekliai.
Daugiau apie tai vos akimirką.
Tuo tarpu, yra keletas maži funkcijos čia.
Vienas iš jų yra hideInfo kuris tiesiog užsidaro InfoWindow.
Kitas funkcija čia, o galiausiai nebus per ilgas, pašalinti žymekliai.
Tai vyksta atšaukti kokia SKELBIMĄ žymeklis funkcija veikia.
Ir tada žemyn čia yra paieška.
Ir tai vienas yra įdomus, nes mes parašiau JavaScript, kad yra
ketina pasikalbėti su search.php nuo serverio ir gauti atgal kai atsakymą.
>> Jūs, žinoma, bus dar reikia įgyvendinti search.php,
bet mes įgyvendinti JavaScript kodas, kuris yra
ketina dirbti realiai atlikti ieško iš šio teksto lauką.
Visų pirma, pranešime kad ši funkcija čia
paieška, ar skambinti search.php naudojant metodą, vadinamą
gauti JSON, kurį mes matėme paskaitą.
Ir sintaksė čia yra šiek tiek kitoks
iš paskaitą, kad mes naudojame JQuery vadinamasis pažadas sąsaja.
Daugiau apie tai į spec.
Tai paprasčiausiai reiškia mūsų tikslais, kad dabar ten
Yra du specialieji funkcijos mes reikia paskambinti dot žymėjimo
Čia iš karto po raginama gauti JSON.
Vienas iš jų yra vadinamas padaryti.
Vienas iš jų yra vadinamas nepavyks.
Jūs galite galvoti apie tai kaip sėkmės prižiūrėtojas
ir nesugebėjimas prižiūrėtojas tiesiog atveju kažkas negerai.
>> Dabar pažvelkime paskutinis pora funkcijų šį failą.
Žemyn čia yra funkcija vadinamas showInfo, kuris
rodo info vienas iš tų mažai info langai
pasirodo, kai vartotojas paspaudžia žymeklį.
Žemyn čia dar yra kad funkcijos UPDATE
kad mes įdiegėme jums.
Ji nustato žemėlapio ribų.
Kas yra GPS koordinatės jos į šiaurės rytus ir pietvakarius kampai čia.
Mes pasirengę kai HDP parametrus čia ir tada juos perdavė galiausiai
į update.php, kuri mes Taip pat įgyvendinami už jus.
Tai galiausiai grįš šiek JSON nuo failas, vadinamas update.php
ir tada pašalina bet žymekliai ekrane
ir tada kartojasi per duomenys, kurie manimi grįžti
nuo update.php, kuris vėl yra tik JSON masyvo.
Ir tada galiausiai priduria už žymeklį kiekviena iš tų vietų, tvarkymo nepakankamumas
ar klaidų, kurios gali labai gerai atsitikti.
>> Dabar tiesiog duoti jums, kaip jums skonis gali eiti apie derinti šį projektą,
suprasti, kad aš atidarytas iš anksto šį skirtuką čia į šį URL,
pset8 / articles.php? GEO = 02138.
Dabar, vėlgi, straipsniai apie PHP įdiegėme jums
todėl tai yra ne tiek daug, kas jums bus naudojant
derinti, o technika.
Atkreipkite dėmesį, kad aš ieškoti Kembridžo Pašto indeksas čia
ir aš Dotarłeś atgal, iš tiesų, JSON masyvas JSON objektai kurio viduje
Yra du keys-- nuorodą ir pavadinimas.
>> Taigi ši funkcija veikia jau už jus.
Tačiau šis rankomis techniką vyksta kad, pavyzdžiui, tai kažko URL kaip
search.php? GEO = Cambridge arba 02138 arba kokia vartotojas įvedėte turėtų
įrodyti, neįkainojama, kaip jūs, patys, pabandykite išsiaiškinti tiksliai, ar kodėl
search.php dirba, ar ne.
>> Galų gale, tada jūs turite mažai todos prieš jus.
Jūs ketinate pirmųjų padargai kad importo scenarijų, kuris
skaito us.text į savo duomenų bazę.
Jūs tada reikės įgyvendinti search.php
taip, kad jis elgiasi tiksliai taip, kaip nurodyta.
Jūs tada norės sutelkti dėmesį į scripts.js
ir galiausiai įgyvendina Tiems iš todos pora,
įskaitant configure ir kad šablonas,
pridėti žymekliai, išimkite žymekliai ir tada paskutinis, bet ne mažiau, vienas
asmens liesti.
>> Jei turite savo Mashup darbo labai patiko mūsų, ranka tikslas
yra jums pridėti asmens prisiliesti prie savo Mashup,
ar tai estetinės ar funkcinės.
Paimkite Mashup vis tiek šiek tiek į kitą lygį.
Kol jūs stumti save už Jūsų susipažinimas su pačia spec
ir pasiimti vieną techniką naujas, net jei tai tik
kažkas estetinių kaip keičiasi išplanavimas žemėlapyje, kad jūs naudojate,
apimtis, kad mes tikimės bus patenkintas.
Tai tada yra problema rinkinys 8 Mashup.
Stay tuned daugiau specifikacijos ir geriausios kloties
spręsti, jūsų paskutinis CS50 problema nustatyti kada.
>> [Muzikos grojimo]