[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]