[Mūzikas atskaņošanai] DAVID J. Malan: Sveiki. Pieņemsim pastaigāties pa Problem Set 8 Mashup, kas gatavojas apstrīdēt jums izmantos elementus Google Maps ar elementiem no Google News un biezeni viņiem kopā uz web sīklietotnes ka ļauj lietotājam meklēt karti jaunumiem vietējai uz konkrētām pilsētām, pilsētām, un pasta indeksi. Lai to izdarītu, mēs ejam, lai integrēt kādu HTML, CSS, PHP, SQL, JavaScript, un tehnika parasti sauc par AJAX, lai lai radītu šo immersive lietotāju pieredzi. Pieņemsim vispirms Google Maps pati. Tas, protams, ir iespējams pazīstams interfeisu. Bet izrādās, ka Google Maps nodrošina arī API-- pieteikumu programmēšana interface-- pa kuru Jūs varat lietot elementus Google Maps un integrēt tos savu pieteikumu. Patiešām, šis process, jūs gatavojas lai atrastu pāris URL īpaši noderīgi, ka ir minēti specifikācija Problem Set 8, īpaši darba sākšanas Guide vai attīstītājs ceļvedis uz Google Maps API 3 versija, kā arī kā Google Maps JavaScript API v3 norāde, kas ir mazliet vairāk Arcane lasīt bet patiesībā ir visas zemākajā līmenī informāciju par to, ko funkcijas vai metodes un objekti un īpašības un notikumi faktiski nāk ar API, ļoti līdzīgs garā uz [nedzirdama] lapām. Tagad, ja mēs to apskatīt Google News, jūs varbūt redzēt pazīstams interfeiss šeit. Bet izrādās, jūs varat arī meklēt Google News īpašām ģeogrāfiskām izmantojot HTTP parametru sauc geo. Patiesībā, ja es tuvinātu šeit, jūs redzēsiet, ka Es esmu pie news.google.com/news/section?geo=02138. Un, protams, ja es zoom out, jūs redzēsiet, ka es esmu apskatot lapu ar visu ķekars uzskati par Cambridge, Massachusetts. Tikmēr, ja es reāli mainīt URL nebūt zip kodu, piemēram, tas, bet kaut nedaudz messier piemēram, Cambridge, + Massachusetts, kur plus ir veids, kā jūs šifrēt telpa rakstura URL un hit Enter, Jūs redzēsiet, ka es tiešām redzēt gandrīz to pašu ziņu. Varbūt tas ir mazliet atšķirīgs jo Cambridge faktiski ir vairākas zip kodu. Tagad, kā es zinātu, ka, un, patiesībā, kā es kaut kā varētu sasiet pilsētām lai zip kodi gadījumā, ja es vēlas, lai ļautu lietotājam uzmeklēt nu? Nu, izrādās, ka tur ir mājas lapa, kas tur sauc geonames.org kas ir iniciatīva, lai būtu brīvi pieejama datu bāze par visu veidu ģeogrāfisko informāciju, ne tikai ASV, bet arī citām valstīm, kā arī. Patiesībā, ja es eju uz šo URL šeit, kas tiek minēts arī problēmas, kas specifikāciju, jūs redzēsiet to trīs uzskaitījums visu ķekars zip failus jebkurš no tiem var lejupielādēt ar jums. Patiesībā, šo problēmu noteikti jūs gatavojas lejupielādēt us.zip. Tagad šajā failā, ir vesels ķekars datiem teksta formātā. Faili ir ļoti līdzīgs CSV-- komatiem atdalītas vērtības file-- bet tas faktiski izmanto cilnes norobežot laukus. Tagad, tikmēr, ja paskatās šeit to, ko es esmu uzsvēra, lauki failos gatavojas būt lietas, piemēram, valstu kodiem, pasta indeksi, vietvārdi, un pēc tam, kādā veidā vai citu, valstis un novadi, kopienām, un vairāk. Patiesībā, es esmu jau lejupielādēt šo failu iepriekš. Ļaujiet man iet uz priekšu un atvērt to here-- us.text-- un, protams, jūs redzēt, ja es ritiniet uz leju, lai rindā 16792 jūs redzēsiet dažus ierakstus Cambridge, Massachusetts un tās dažādās zip kodi. Ko Jūs redzēsiet arī tur ir novads, daži skaitļi, kas man nav īsti saprotu, bet arī visas Ceļš, pa labi, daži GPS coordinates-- platuma un garuma. Tas ir lieliski, jo viens no iezīmes Google Maps API ir spēja atklāt kur jūs esat ģeogrāfiski ziņā GPS koordinātas. Tagad sāksim izdomāt, kā to sākt sasaistīšana šīs lietas kopā. Mēs esam devis jums viss ķekars sadales kodu, kā arī MySQL datu bāze. Patiesībā, ja es pull phpMyAdmin kam jau importēta, kā jūs drīz būs, pset8.SQL, jūs redzēsiet MySQL tabulu, kas izskatās šādi, ID lauks, valsts kods, pasta indekss, vietas nosaukums un vairāk. Par visiem tiem veidiem kolonnas I iegūti vienkārši izlasot readme.text failu šeit norādīto vai lauks ir vesels skaitlis, vai varchar vai tamlīdzīgi. Tātad, mēs esam izveidojuši šo tabulu tu un devis jums SQL komandas izpildīt, lai radītu, ka galda savā datu bāzē, bet tur tiešām nav pieejami dati par to vēl. Drīzāk, jūs nāksies lejuplādēt us.zip vai jebkuru valsts zip failu no šī URL tur. Un tad jūs nāksies rakstīt komandrindas skriptu PHP, kas ir gatavojas atvērt šo tekstu failu, atkārtot pār tās līnijas, un pēc tam uz katru no šo līniju darīt ieliktni uz ka vietās tabula Jūsu MySQL datu bāzē. Tātad beigās šo procesu, jums ir palaist šo skriptu galu galā tikai vienu reizi teorētiski. Patiesībā jūs, iespējams, palaist to ķekars reizes mēģinot noteikt dažādas kļūdas. Galu galā, jūs nāksies tiešām liels datu bāze ar tūkstošiem un tūkstošiem ģeogrāfisko rindās. Tad jūs esat gatavojas nodot šo importu skripts malā, kad tas strādā un jūsu datu bāze ir jauki un pareizi, un pēc tam jūs gatavojas pāriet uz faktiski Īstenojot Mashup pati. Mashup ir skatīsies mazliet kaut kas līdzīgs šim. Pie mashup.cs50.net, mēs ir personāla risinājumu kas izskatās nedaudz kaut kas līdzīgs šim. Patiešām, ja es noklikšķiniet uz šī laikraksta ikonu Cambridge, Massachusetts, jūs redzēsiet spiningu īsi un tad icon Sakārtots saraksts, aizzīmēm saraksts raksti saistīts ar Cambridge, Massachusetts. Ja es noklikšķiniet uz Charlestown, Massachusetts, Tiksimies pats šai pilsētai. Un ja es noklikšķiniet uz Watertown, Massachusetts, tur varētu būt jebkurš Ziņas no Watertown, lai jūs redzēsiet kaut ko piemēram, nelielu ziņu dienā. Tagad, tikmēr, kreisajā augšējā stūrī ir daži pazīstami Google Maps kontrole lai jūs zoom panoramēt augšu, uz leju, pa kreisi un pa labi, bet arī meklēšanas lodziņš, ka mēs ieliekam tur. Tātad, ja es meklētu, atklāti sakot, vienīgā cita pasta indekss es zinu, 90210, mēs patiešām redzam Beverly Hills, California. Kad uzklikšķināt tas man liek California un vesels bars Ziņu par Beverly Hills. Tagad paziņojums, arī to, kas tur notika. Ja es šoreiz meklēt 02138 vai pat Cambridge komats Massachusetts vai kādu variants apakšpunktu, jums maz autoaizpildīšana nolaižamā. Tagad tas ir, izmantojot spraudni par bibliotēku sauc jQuery, un ka spraudnis sauc typeahead. Mēs vienkārši izlasīt dokumentācija, lejupielādēt js failu integrēta uz sadales kodu, lai jūs galu galā var rakstīt kodu, kas aizpilda šo nolaižamo izvēlni ar auto izvēles vai auto ieteikumi. Tagad sadales kodu, lai gan, ka saņēmāt nedara gandrīz tikpat daudz. Jūs saņemsiet Google Map iestrādāti, un jums kontroli top pa kreisi, un jūs saņemsiet meklēšanas lodziņu. Bet, ja es tipa kaut ko līdzīgu 02138, nav vietas tiek atrasti vēl. Tāpēc, ka ir būs viens no mūsu mērķiem šeit. Turklāt, ja jūs lietojat soli atpakaļ un apskatīt karti pati, tur nav ziņu whatsoever. Pat tad, ja es noklikšķiniet un velciet, ne marķieri faktiski parādīties ziņas, jo tas izaicinājums ir palicis, lai jūs kā labi. Pieņemsim to apskatīt, tad pie sadales kodu. Kad esat lejupielādējis pset8.zip un unzipped to savā vhost direktorijā ar CS50 Appliance, jūs redzēsiet šos katalogi šeit iekšā. Bin-- kas parasti apzīmē bināro izpildāmo programs-- ietver, kā pset7, daži PHP failus, ka citi faili ietver, Tad sabiedrības, kas ir failus, kas nepieciešams lai būtu publiski pieejama lietotājam ar pārlūkprogrammu. Pieņemsim to apskatīt bin direktorijā, un mēs redzēt, ka tur ir fails tur jau sauc Import. Ja mēs atveram to ar gedit, mēs redzēsim ka, diemžēl, tur nav daudz tur. Viss, kas ir tur, lai gan, ir zaņķis augšā kas nosaka, kas interpreter-- šajā gadījumā PHP-- ir jāizmanto, lai faktiski izpildīt šo failu. Bet tad kur ir teikts TODO ir, ja tu esi gatavojas nepieciešams uzrakstīt kādu kodu kas, iespējams, prasa config fails, kas ir kas ietver katalogu kā mēs esam darījuši agrāk ar PHP failus. Un tad jūs gatavojas ir kaut kā atvērt us.text kas jums, iespējams, jau unzipped. Tad jūs esat nāksies atkārtot pār līnijām šajā failā, iespējams, izmantojot dažas funkcijas ierosināja specifikācijā. Tad ievietojiet katrs no tiem līnijas uz MySQL datu bāzē izmantojot vaicājumu funkciju, kas mēs esam atkal izsniedzis jums with-- vai vismaz variants raidījumiem functions.php, ko mēs redzēsim tikai brīdi. Tagad pieņemsim slēgt importu un doties atpakaļ uz mūsu direktoriju un šoreiz iedziļināties ietver. Un, ja man ls tur, jūs redzēsiet trīs dokumenti gluži tāpat Problem Set 7. Un pieņemsim veikt ātri apskatīt, piemēram, pie config.php. Tur ir mazāk līnijas nekā agrāk, un to šķiet, ka tas fails ietver constants.php un functions.php. Mēs izmantojam nedaudz atšķirīga paņēmiens šoreiz, lai faktiski norādīt, ka šie faili ir relatīvs pašreizējā direktorijā __ DIR__ pārstāv neatkarīgi katalogs šis failu, config.php, ir pati. Tātad tas ir daudz skaidri veids norādot kādi citi faili vēlaties pieprasīt. Tagad, ja man slēgt šo failu un atvērt constants.php vietā, jūs redzēsiet failu ļoti atgādina lai Problem Set 7 ir tik labi, lai gan ar citu datu bāzi, ko sauc pset8. Visbeidzot, functions.php, mēs redzēsim tikai vienu funkciju šoreiz sauc vaicājums. Tas ir gandrīz tas pats, izņemot mēs risinām kļūdas Šoreiz mazliet savādāk, bet tas ir izmantošana ir tāpat kā problēmu noteikts septiņi. Tagad iesim atpakaļ uz mūsu pset8 direktoriju, iedziļināties sabiedrībai, un tur ja man ls, jūs redzēsiet this-- articles.php, index.html, search.php, un update.php-- visus failus. Un tad CSS fontus, img, un js katalogs gluži tāpat pset7. Pieņemsim to apskatīt index.html, kas ir būs patiešām ieejas punkts uz smashup. Tagad index.html, jūs redzēsiet vesels ķekars saite elementu galvas, Konkrētāk, attiecībā uz sāknēšanas programma mūsu pašu CSS seko visu ķekars skriptu tagus lietām, piemēram, kartes, API pati, īpašs marķieris ar etiķeti lietderība, kas mēs minēts specifikācija ir pieejama, lai jūs, jQuery pati, bootstrap pati, un vēl bibliotēka sauc pasvītrojums kas mēs runājam par spec. Underscore.js piemēram jquery.js ir JavaScript bibliotēka kas ir visai ķekars funkcionalitāti ka daudz cilvēku pasaulē vēlas pastāvēja JavaScript pati. Tātad visi no tiem ir faktiski ir diezgan populārs. Mēs esam arī minēts typeahead kas ir bibliotēka, kas tas, ka AutoComplete nolaižamo un beidzot saite uz mūsu pašu JavaScript. Tikmēr, un, iespējams, par laimi, šis Mashup virza salīdzinoši maz HTML leju šeit apakšā. Ievērojiet, ka mēs esam norādīts div in Mūsu ķermenis klases konteineru šķidrumu. Tas, uz sāknēšanas s dokumentācija, tikai nozīmē, ka šī nodaļa gatavojas aizpildīt skatvietai vai pārlūkprogrammas loga pilnībā. Tikmēr, zem mums ir div kas ir atvērta un tūlīt ir jāaizver ar unikālu ID kartes audekla. Tagad tas ir no Google Kartes dokumentācija tā API, kuru es vienkārši nepieciešams ir tukša div, kurā veikt injekciju, galu galā, ar faktisko Google Maps. Bet vairāk par to, kas tikai mazliet. Visbeidzot, ir forma iekšā šeit, kas darbarīkus tekstlodziņš up augšas pa kreisi mūsu interfeisu meklēšanai. Ievērojiet, ka mēs esam izmantojuši mazliet sāknēšanas programma šeit too-- lietas, piemēram, forma-inline un formas grupas. Mēs esam rūpīgi bijušais unikālais ID formas. Un tad, galu galā, man tiešām ir ievades veids, kas ir diezgan pazīstams, kura ID ir q. Tikai konvencija. Q query-- varētu būt aicināts neko. Un tad vietturis, tikmēr, ir pilsēta, valsts, un pasta indekss, kas jūs varētu atgādināt redzot mūsu miksējumu demo agrāk. Pieņemsim aizvērt šo failu. Tagad to apskatīt PHP failus, kas gaida un tad JavaScript failus. Mūsu PHP failus, mēs esam jau ir ieviesta, lai jūs, piemēram, atjauninājumus. Update.php-- mēs nevarēsim tērēt milzīgs daudzums laika here-- īsumā ir fails, ka mūsu JavaScript kods notiek sazināties, izmantojot AJAX, ka asinhrono paņēmiens, kas ir iebūvēts JavaScript šajās dienās tas ir gatavojas ļauj mums uzdot update.php lai iegūtu vairāk informācijas. Konkrēti, jebkurā laikā lietotājs Transvestīti karti vai veic meklēšanu, kas lec lietotājs uz citu vietu, Mūsu JavaScript kods, kā mēs drīz redzēt, ir saukšu update.php un lūgt 10 vai tik marķieriem ietvaros logā balstīta uz GPS koordinātēm no augšas un apakšas stūri šo karti. Tad mēs varam repopulate karti tagad, ka lietotājs ir pārvietots uz ekrāna, lai redzēt 10, iespējams, jaunu marķieri dažādām pilsētām. Tikmēr, šis fails ir galu galā gatavojas izpildīt SQL vaicājumu pret mūsu datu bāzē galda sauc vietas, kas gatavojas atgriezties tiem 10 vai mazāk vietas. Tikmēr articles.php, ir vēl viens failu mēs esam rakstīts kopumā. Tas ir ļoti līdzīgs garā Problēma Set 7 ir LOOKUP funkcija, sazinājās Yahoo Finance jums. Šis fails kontakti Google News jums, galu galā satveršanas mašīnlasāmā version-- kaut sauc RSS format-- par jaunumiem Cambridge vai Beverly Hills vai kāds town esat meklējis lai, pamatojoties uz šo Ģeogrāfisko parametru. Mēs parsēt šo RSS, kas ir tikai no iezīmēšanas valodas veidu sauc par XML, un tad mēs faktiski atdod to savā pārlūkprogrammā un jūsu JavaScript kodu, Konkrētāk, tādā formātā, ko sauc par JSON, JavaScript Object notācija. Tagad jūs redzēsiet specification-- mēs jums norādīt pie kā jūs faktiski var redzēt daži no JSON tuvākajos back-- ka šī funkcija galu galā ļauj jums aizpildīt šo popup izvēlnēm tik ka tad, kad jūs noklikšķiniet uz marķieri kartē jūs faktiski redzēt visu ķekars lodes, katrs no kuriem saites uz rakstu. Tagad pieņemsim to apskatīt vienā pēdējā PHP failu, kas, par laimi, nav ir daudz kas notiek on-- tikai diezgan liels TODO. Tieši tagad šo failu deklarē masīvs sauc vietas. Un tad galu galā izdrukas ka masīvs JSON format-- pretty-izdrukājot to tikai tāpēc, ka lietas ir vieglāk atkļūdošanas. Diemžēl vidū ir šī TODO, kas prasa, lai jūs varētu meklēt datubāze vietām saskaņošanas geo HTTP parametrs. Un, protams, tas būs būt viens no jūsu challenges-- lai īstenotu šo funkciju šeit tā, ka tad, kad jūs sazināties ar šo failu ar URL, piemēram, meklēšanu. php? geo = kaut kas, jūsu kods galu galā atpakaļ JSON masīvs visiem vietām jūsu datu bāzes tabulu, kas atbilst šo ieguldījumu. Tātad, ja lietotājs veidiem Cambridge, Jūsu fails šeit search.php galu galā atpakaļ JSON masīvs lai visās spēlēs par Cambridge, kas varētu būt Masačūsetsā bet varētu būt arī jebkur citur. Visbeidzot, pieņemsim to apskatīt divas failus, kas ir statisks ultimately-- savu CSS failu un JavaScript failu. Ja es iedziļināties mūsu CSS direktorijā, tur ir viss ķekars failus tur, bet lielākā daļa no tiem ir bibliotēkas. Es esmu gatavojas paskatīties, Konkrētāk, pie styles.css, kas ir mūsu pašu pasaules CSS, kas ir gatavojas stylize šo visu Mashup. Es atstāt to jums izlasīt komentāri šeit, bet, īsumā, tas ir CSS, kas nodrošina, ka mūsu Mashup, pēc noklusējuma no kastes, izskatās tieši tā, kā mēs gribam it-- ar karti aizpildot skata portu un ar meklēšanu jūklis augšējā kreisajā stūrī. Mēs esam arī veikusi brīvību stylizing ka typeahead nolaižamo ēdienkarte mazliet, kā arī. Svarīgākais fails varbūt šo problēmu, kas tas ir pēdējais, scripts.js. Iekšpusē jūsu JS direktorijā ir vēl vairāk failus. Visi no tiem ir bibliotēkas failus izņemot šo vienu, scripts.js. Ja mēs atvērt šo augšu, pieņemsim mūsu Galīgo ekskursija pa funkcijām, kas ir iebūvēts šo failu jums un zvanu uzmanību uz Todos kas gaida nākotnē. Augšpusē šo failu, Ir trīs globālo mainīgo. Viens uz kartes, kas iet uz būt atsauce uz mūsu Google kartē. Jūs varat domāt par to veida kā rādītājs. Tajā pašā laikā, mēs esam citu pasaules mainīgais sauc info, kas, šķiet, uzglabājot atgriešanās vērtību zvanu uz jaunu google.maps.InfoWindow. JavaScript atbalsta objektus, kas ir ļoti līdzīgs garā balsts. Un ko šī pozīcija mūsu mērķiem dara rada jaunu info logu atmiņā un tad saglabājot apkārt atsauci to ar mainīgo sauc Info. Un starp tiem, tikmēr, ir tas, kas parādās būt tukšs JavaScript masīvs sauc marķierus. Visi šie laikrakstu ikonas, vai arī jūs varētu izvēlēties citu ikonu vispār, gatavojas glabāt galu galā šajā masīvā lai mēs varētu ļoti viegli pievienot kartes un izņemt tos no pasaules kartes. Tagad pieņemsim ritināt uz leju mazliet un sīkšana izmantojot kodu, kas notiek, lai būtu izpildīt, tiklīdz DOM vai dokumenta objekta modelis vai Pati lapa ir gatava. Atgādināt, ka šo sintaksi šeit vienkārši precizēts ka šādu kodu būtu jāveic tikai ja pārlūkprogramma ir beidzis iekraušanas viss pārējais. Mēs pirmo reizi deklarē viss ķekars stilu, kas galu galā stylizing karte kā vienu spec. Tad mēs paziņojam viss ķekars iespējas, kas vēl vairāk pielāgot Google karte, kas mēs esam par to iestrādāt. Pēc tam mēs izmantojam mazliet jQuery koda, kas tiek skaidrots ar mazliet sīkāk spec, lai greifers šis elements, karti, audekls ka mēs tik identificēt. Un tad šī līnija šeit ir ko, šķiet, maģiski dotu mums Google karte iekšpusē mūsu pašu pieteikumu, uzglabājot atsauci uz to šajā mainīgo sauc kartē. Visbeidzot, uz leju šeit mēs reģistrējam ko sauc klausītājs. Padomā back-- veidā, kā back-- nedēļai nulles in CS50 kad mēs paskatījās Scratch un savu atbalstu, izmantojot pastaigāties caur lietām, ko sauc par pasākumi un raidījumi. Jūs, iespējams, ir izmantojuši tas pats, bet tas ir mehānisms, ar kuru pārlūkprogramma šajā gadījumā var saņemt mūsu uzmanību, kad tas ir gatavi reāli izpildīt kādu kodu. Šajā gadījumā, tas notiek, lai klausītos uz kartē notikumu sauc dīkstāvē. Tas nozīmē, ka pārlūkprogramma ir pabeigts Google karti iekraušanas. Šajā brīdī funkcija sauc konfigurēt vajadzētu galu galā izpildīts. Šī funkcija, konfigurēt, mēs redzēsim, ir rakstīts ar mums. Tagad noteikti šeit ir funkcija ka, diemžēl, ir tikai TODO add marķieris. Per spec. Jūs esat dodas uz nepieciešamību rakstīt kodu, kas faktiski piebilst marker--, vai tas izskatās kā avīzi, vai īkšķis tack, vai kaut else-- Google kartē. Šeit ir tāda, ka funkcija sauc konfigurēt. Es atstāt to jums lasīt caur šo sīkāk, bet saprast, ka mēs pievienojam ķekars vairāk Klausītāji lai mēs varētu izpildīt kodu, kad lietotājs noklikšķina uz un velk karti. Mums ir arī kodu šeit, ka inicializē ka typeahead spraudni lai nolaižamo izvēlnes faktiski darbojas. Bet pieņemsim koncentrēties uz tikai Pāris vietās šeit. Konkrēti, tas to darīt šeit. Es piekāpjas tiešsaistē dokumentācijas un specifikāciju par to, kā aizpildīt šo TODO. Bet īsumā, šī bibliotēka typeahead ļauj iziet jo to, kas parasti sauc par veidni, kas ir dažas mainīgus vietturus ļoti līdzīgs garā uz Printf s%. * s. Bet šajā gadījumā, veidne vienu spec ļauj jums norādīt ko mainīgie vēlaties injicēt no datiem, kas ir ieradušies atpakaļ no kaut kā SVP faili, ka jūs esat rakstiskas kas izstaro JSON produkciju. Tagad šeit lejā saprast, ka mēs esam klausās typeahead izlasēs kad lietotājs faktiski veic meklējiet un izvēlas vērtību. Tas ir, kā mēs esam patiesībā gatavojas uzklausīt par to un izpildīt kādu kodu, kā rezultātā. Tad mēs turpinām konfigurēt Mashup tikai mazliet. Un, galu galā, mēs saucam šī funkcija atjauninājumu. Tas atjauno marķierus ekrānā. Vairāk par to tikai brīdi. Tajā pašā laikā, ir maz mazas funkcijas šeit. Viens no tiem ir hideInfo kas vienkārši aizver InfoWindow. Vēl viena funkcija šeit, kas galu galā nebūs pārāk garš, izņemiet marķierus. Kas notiek, lai atsauktu neatkarīgi Jūsu add marķieris funkcija dara. Un tad noteikti šeit ir meklēt. Un šī ir interesanti, jo mēs esmu rakstījis JavaScript kodu, kas ir gatavojas runāt ar search.php par serveri un saņemt atpakaļ kādu atbildi. Jūs, protams, būs vēl jāievieš search.php, bet mēs esam jāīsteno JavaScript kodu, kas ir gatavojas rīkoties faktiski veic meklē no šī teksta lodziņā. Jo īpaši, paziņojumā ka šī funkcija šeit, meklēšana, vai zvaniet search.php ar metodi, ko sauc get JSON, ko mēs redzējām lekciju. Un sintakse šeit ir nedaudz atšķirīgs no lekciju, ka mēs izmantojam jQuery tā saukto solījums interfeisu. Vairāk par to, kas spec. Tas vienkārši nozīmē, lai mūsu mērķiem tagad, ka tur ir divas īpašas funkcijas mēs jāpiezvana ar dot notācija Šeit uzreiz pēc izsaucēja nokļūt JSON. Viens sauc darīts. Viens sauc neizdoties. Jūs varat domāt par šiem kā veiksmes apdarinātājs un neveiksmes apdarinātājs tikko gadījumā, ja kaut kas noiet greizi. Tagad aplūkosim pēdējais pāris funkcijas šajā failā. Down šeit ir funkcija sauc showInfo, kas parāda info viens no tiem maz info logiem, kas NOP kad lietotājs uzklikšķina marķieri. Leju šeit vēl ir ka update funkcija ka mums ir jāīsteno, lai jums. Tas nosaka robežas karti. Kādas ir GPS koordinātas tās ziemeļaustrumiem un dienvidrietumiem stūriem šeit. Esam sagatavojuši dažus HDP parametrus šeit un pēc tam laiž tos galu galā uz update.php, kuru mēs esam īsteno arī jums. Kas galu galā izpaužas atpakaļ kādu JSON no failu sauc update.php un tad noņem jebkādu marķieri uz ekrāna un pēc tam vairākkārt uzsvērts vairāk dati, kas ir atgriezies no update.php, kura atkal ir tikai JSON masīvs. Un tad tas galu galā piebilst marķieri Katrā no šīm vietām, apstrādes neveiksme vai kļūdas, kas varētu ļoti labi notikt. Tagad tikai, lai dotu jums garšu, kā jūs varētu iet par atkļūdošana šo projektu, saprotu, ka es esmu atvērts virzīt šo cilni šeit, lai šo URL, pset8 / articles.php? geo = 02138. Tagad, atkal, raksti par PHP mēs īstenojām jums tāpēc tas nav tik daudz ko jūs izmantojat atkļūdošanas, bet gan tehniku. Ievērojiet, ka es esmu meklējis Cambridge ir pasta indekss šeit, un es esmu gotten atpakaļ, protams, JSON masīvs JSON objektus iekšā kas ir divi keys-- saite un nosaukums. Tātad šī funkcija strādā jau jums. Bet šī metode manuāli iet uz URL, piemēram, tas par kaut ko līdzīgu search.php? geo = cambridge vai 02138 vai kāds lietotājs ir ievadījis būtu izrādīties nenovērtējams kā jūs, sevi, mēģiniet lai noskaidrotu, tieši vai kāpēc search.php strādā vai ne. Galu galā, tad, jums ir daži todos priekšā no jums. Jūs esat gatavojas pirmajiem agregātiem ka imports skriptu, kas skan us.text savā datu bāzē. Jūs esat tad dodas uz nepieciešamību īstenot search.php tā, ka tas veic tieši tā, kā norādīts. Jūs esat tam gatavojas vēlaties koncentrēties uz scripts.js un visbeidzot īsteno tie pāris TODOS, tostarp konfigurēt un ka veidni, pievienot marķierus, noņemt marķierus, un Tad pēdējais, bet ne mazāk svarīgi, viens personas touch. Tiklīdz jums ir Mashup darba gluži kā mūsējā, mērķis pie rokas ir, lai jūs varētu pievienot personisko pieskarties savam miksējumu, vai tas ir estētiska vai funkcionāla. Veikt Mashup kādreiz tik nedaudz uz nākamo līmeni. Tik ilgi, kamēr jūs push sevi tālāk Jūsu zināšanas ar spec pati un uzņemt vienu tehniku jauna, pat ja tas ir tikai kaut estētisko kā mainīt izvietojums kartē, kas jūs izmantojat, joma, ko mēs sagaidām būs apmierināti. Tas tad ir Problem Set 8 Mashup. Gaidiet vairāk specifikācija un novēlu veiksmi risināt šo, jūsu pēdējais CS50 problēma noteikti kādreiz. [Mūzikas atskaņošanai]