[Daqq ta mużika] DAVID J. Malan: Hello. Ejja tieħu walk permezz Problema Set 8 Mashup, li se isfida li inti jiddependu fuq elementi għal Google Maps ma 'elementi mill-Google News u maxx flimkien ġo applet web li tippermetti lill-utent biex tfittxija mappa għall-aħbarijiet lokali lejn l-irħula speċifiċi, bliet, u l-kodiċi zip. Biex tagħmel dan, aħna qed tmur biex jintegraw xi HTML, CSS, PHP, SQL, JavaScript, u ​​teknika ġeneralment magħrufa bħala Ajax sabiex biex jinħoloq dan immersive utent esperjenza. Ejja ewwel għall Google Maps innifsu. Dan, naturalment, huwa forsi interface familjari. Iżda jirriżulta li Google Maps jipprovdi wkoll l-applikazzjoni API-- programmazzjoni interface-- via li inti tista 'tieħu elementi ta' Google Maps u jintegrawhom fil applikazzjonijiet tiegħek stess. Tabilħaqq, matul dan proċess, int ser biex isibu koppja ta 'URLs partikolarment utli li huma msemmija fil- ispeċifikazzjoni għas Problema Set 8, speċifikament din il Getting Started Gwida jew il-Gwida tal-iżviluppatur għall Google Maps API Verżjoni 3 kif ukoll bħala l-API Google Maps JavaScript referenza v3, li huwa daqsxejn aktar arcane biex taqra imma attwalment tkun kollha tal-livell aktar baxx Dettalji dwar dak il-funzjonijiet jew il-metodi u oġġetti u l-proprjetajiet u avvenimenti attwalment jaqgħu mal-API, simili ħafna fl-ispirtu li [inaudible] paġni. Issa jekk nieħdu ħarsa fuq Google News, inti ser forsi tara interface familjari hawn. Iżda jirriżulta out inti tista 'tfittex ukoll Google News for geographies speċifiċi permezz ta 'parametru HTTP imsejħa ġeo. Fil-fatt, jekk I zoom in up here, tkun taf tara li Jien fil news.google.com/news/section?geo=02138. U, tabilħaqq, jekk I zoom out, inti ser tara li jien tħares lejn paġna bil-mazz sħiħ ta ' fehmiet dwar Cambridge, Massachusetts. Sadanittant, jekk I attwalment ibiddlu l- URL m'għandhomx ikunu zip code bħal dan, imma xi ħaġa Messier ftit bħal Cambridge, + Massachusetts, fejn il plus huwa l-mod inti jikkodifikaw a karattru ispazju fil URL u hit Ikteb, tkun taf tara li I attwalment tara kważi l-istess aħbarijiet. Forsi huwa xi ftit differenti minħabba Cambridge attwalment għandha kodiċijiet zip multipli. Issa kif se naf li u, fil-fatt, kif jistgħu I b'xi tie bliet u rħula għall-kodiċi zip fil-każ I tixtieq li jippermettu lill-utent tfittex up jew? Ukoll, jirriżulta li hemm websajt hemmhekk imsejħa geonames.org li hija inizjattiva li jkollha database liberament disponibbli ta 'kulħadd tip ta 'informazzjoni ġeografika, mhux biss għall-Istati Uniti, iżda wkoll għal pajjiżi oħra ukoll. Fil-fatt, jekk immur għal dan il-URL hawn, li jissemma wkoll fil-problema sett ispeċifikazzjoni, tkun taf tara dan tlieta elenkar ta mazz sħiħ ta 'fajls zip li kull wieħed minnhom jista 'jitniżżel minnek. Fil-fatt, għal din il-problema sett int ser tniżżel us.zip. Issa fi ħdan dan il-fajl, hija kollha kemm hi mazz ta 'data f'format ta' kitba. Il-fajls huwa simili ħafna għal CSV-- Comma Separated Valuri file-- iżda fil-fatt juża tabs biex jiddemarkaw l-oqsma. Issa, sadanittant, jekk inti tfittex hawn fuq dak li stajt enfasizzat, l-oqsma f'dan fajl huma għaddejjin li jkun affarijiet simili kodiċijiet tal-pajjiż, kodiċijiet postali, ismijiet ta 'postijiet, u mbagħad, f'xi forma jew oħrajn, l-istati u l-kontej, komunitajiet, u aktar. Fil-fatt, stajt diġà jitniżżel dan il-fajl bil-quddiem. Let me imorru quddiem u tiftaħ it here-- us.text-- u, tabilħaqq, inti ser ara jekk I iscroll għal-linja 16792 tkun taf tara rekords ftit għall Cambridge, Massachusetts u l-kodiċi zip varji tagħha. Dak li inti tara wkoll hemm il-kontea, xi numri li jien ma verament jifhmu, iżda wkoll kollha il-mod fuq il-lemin, xi GPS coordinates-- latitudni u lonġitudni. Dan huwa kbir għaliex wieħed mill il-karatteristiċi ta 'Google Maps API hija l-kapaċità li jikxfu fejn int ġeografikament f'termini ta 'GPS koordinati. Issa ejja tibda biex insemmu kif tibda irbit dawn l-affarijiet flimkien. Imxejna tak kollu mazz ta 'kodiċi ta' distribuzzjoni, kif ukoll database MySQL. Fil-fatt, jekk I iġbed phpMyAdmin li diġà importat, kif inti dalwaqt se, pset8.SQL, tkun taf tara tabella MySQL li tidher bħal dan, qasam ID, il-pajjiż kodiċi, kodiċi postali, isem il-post u aktar. It-tipi ta 'kollha ta' dawk kolonni I derivat sempliċiment mill-qari tal readme.text fajl hawnhekk dik speċifikata jekk il-qasam huwa integer, jew varchar jew bħalhom. Allura aħna ve maħluqa dik it-tabella għal inti u tak-kmandi SQL biex tesegwixxi biex joħolqu dak tabella fl-database tiegħek stess, imma hemm attwalment l-ebda data fil encore. Pjuttost, int ser ikollhom download us.zip jew zip kull pajjiż fajl minn dik URL hemmhekk. U allura int se jkollhom jiktbu b'kitba kmand tal-linja fil-PHP li l- ser jiftħu dak it-test fajl, jtenni fuq linji tagħha, u mbagħad għal kull wieħed dawk il-linji do daħħal fis li tqiegħed it-tabella fid-database MySQL tiegħek. Għalhekk fl-aħħar ta 'dan il-proċess, inti ser run li iskrittura finalment darba biss fit-teorija. Fir-realtà inti ser probabilment run mazz ta 'drabi filwaqt jippruvaw jiffissaw bugs varji. Fl-aħħarnett, int ser jkollhom database verament kbir b'eluf u eluf ta 'ringieli ġeografiċi. Imbagħad int ser iqiegħed dak l-importazzjoni iskrittura aside ladarba huwa xogħol u database tiegħek huwa sbieħ u korretta, u mbagħad int ser ngħaddi biex attwalment implimentazzjoni tal-mashup innifsu. Il mashup huwa ser tħares ftit xi ħaġa bħal din. Fil mashup.cs50.net, aħna jkun hemm soluzzjoni staff li jistenna ftit xi ħaġa bħal din. Tabilħaqq, jekk I ikklikkja fuq din il-gazzetta Icon għal Cambridge, Massachusetts, tkun taf tara għażil ikona qosor u mbagħad lista ordnat, a lista bulleted ta 'oġġetti relatati mal-Cambridge, Massachusetts. Jekk I ikklikkja fuq Charlestown, Massachusetts, I ser tara l-istess għal dik il-belt. U Jekk I ikklikkja fuq Watertown, Massachusetts, jista 'ma jkunx hemm xi aħbarijiet ta 'mill-Watertown, sabiex tkun taf tara xi ħaġa bħall-ġurnata aħbarijiet kajman. Issa, sadanittant, fil-quċċata xellug huma xi kontrolli familjari Google Maps let you zoom out, pan up, down, xellug, u d-dritt, iżda wkoll kaxxa ta 'tfittxija li nitfgħu hemmhekk. Mela jekk jien tiftix għal, franchement, l-unika kodiċi zip oħra naf, 90210, aħna ser attwalment ara Beverly Hills, California. Meta għafast din twassal me California u mazz sħiħ tal-aħbarijiet dwar Beverly Hills. Issa avviż, wisq, dak li ġara hemmhekk. Jekk I din it-tfittxija żmien għall 02138 jew saħansitra Cambridge comma Massachusetts jew xi varjant tiegħu, ikollok ftit dropdown AutoComplete. Issa dan qed tuża plugin għal librerija msejħa jQuery, u li plugin huwa msejjaħ typeahead. Aħna sempliċiment tinqara permezz id-dokumentazzjoni, jitniżżel l-JS fajl integrat fil-kodiċi ta 'distribuzzjoni sabiex inti finalment jista 'jikteb il-kodiċi li fills li menu dropdown mal-auto selezzjonijiet jew is-suġġerimenti auto. Issa l-kodiċi ta 'distribuzzjoni, madankollu, li inti tkun irċiviet ma jkunx do kważi kemm. Ikollok l-Google Map integrati, u ikollok l-kontrolli l-quċċata xellug, u jkollok l-kaxxa ta 'tfittxija. Imma jekk jien tip xi ħaġa simili 02138, l-ebda postijiet jinstabu s'issa. Allura li għaddej biex tkun wieħed mill-għanijiet tagħna hawn. Barra minn hekk, jekk inti tieħu pass lura u nħarsu lejn il-mappa nnifisha, hemm l-ebda aħbar tkun xi tkun. Anke jekk I ikklikkja u drag, l-ebda markers attwalment jidhru għall-aħbarijiet minħabba li Sfida titħalla għalik ukoll. Ejja tagħti ħarsa imbagħad lejn il-kodiċi tad-distribuzzjoni. Ladarba inti ħadthom jitniżżel pset8.zip u unzipped dan fis-direttorju vhost tiegħek fil-Appliance CS50, tkun taf tara dawn direttorji hawn ġewwa. Bin-- li ġeneralment stands għall binarju għal programs-- eżekutibbli jinkludi, bħal fil pset7, xi PHP fajls li fajls oħra jinkludu, imbagħad pubbliku, li hija il-fajls li jeħtieġu li jkun aċċessibbli pubblikament lil utent bi browser. Ejja tagħti ħarsa fil- direttorju bin, u aħna ser tara li hemm fajl hemm diġà talab Importazzjoni. Jekk aħna miftuħa dan ma gedit, aħna ser tara li, sfortunatament, hemm Ma tantx hemmhekk. Dak kollu li hemm, għalkemm, huwa shebang fil-quċċata li jispeċifika liema interpreter-- f'dan il-każ PHP-- għandhom jintużaw biex attwalment tesegwixxi dan il-fajl. Iżda mbagħad fejn jgħid Todo huwa fejn int tmur ħtieġa li jikteb xi kodiċi li probabbilment teħtieġ l-konfigurazzjoni fajl li l fil- jinkludi direttorju kif aħna ghamilt qabel ma 'fajls PHP. U allura int ser għandek b'xi jiftħu us.text li inti preżumibbilment diġà unzipped. Imbagħad int ser ikollhom jtenni fuq il-linji f'dak il-fajl, forsi tuża xi wħud mill-funzjonijiet suġġerit fl-ispeċifikazzjoni. Imbagħad daħħal kull wieħed minn dawk Linji fis MySQL database billi tuża l-funzjoni query, li konna darb'oħra sakemm inti with-- jew għall-inqas varjant tiegħu fl functions.php, li aħna ser tara fi ftit mument. Issa ejja qrib importazzjoni u jmorru lura lejn direttorju tagħna u dan iż-żmien imorru fis jinkludi. U jekk I do ls hemm, inti taf tara tliet files pjuttost simili Problema Set 7. U ejja tagħti ħarsa quick, per eżempju, fil-config.php. Fil hemm, huwa inqas linji minn qabel, u Jidher dan il-fajl jinkludi constants.php u functions.php. Aħna qed jużaw ftit differenti teknika din id-darba biex attwalment jispeċifikaw li dawn il-fajls huma relattivi għall-direttorju kurrenti __ DIR__ tirrappreżenta x'ikun direttorju dan fajl, config.php, huwa ruħha fil. Allura dan huwa aktar mod espliċitu li jispeċifikaw dak fajls oħra li inti tixtieq li jeħtieġu. Issa jekk I qrib dan il-fajl u jiftħu constants.php minflok, tkun taf tara fajl ħafna reminixxenti biex Problem Set 7 kif ukoll, għalkemm ma 'database differenti msejħa pset8. Fl-aħħarnett, functions.php, aħna ser tara biss funzjoni waħda dan iż-żmien imsejħa query. Dan huwa kważi l-istess ħlief nittrattaw Żbalji din id-darba madwar ftit differenti, imma hija użu huwa l-istess bħal fl problema sett sebgħa. Issa ejja mur lura fis pset8 tagħna direttorju, mur fil-pubbliku, u fil hemm jekk I do ls, tkun taf tara this-- articles.php, index.html, search.php, u update.php-- fajls kollha. U allura l-fonts css, img, u direttorju JS pjuttost simili pset7. Ejja tagħti ħarsa lejn index.html, li hija se tkun verament l- punt ta 'dħul għall-smashup. Issa fil index.html, tkun taf tara sħiħa mazz ta 'elementi rabta fir-ras, speċifikament, għall bootstrap għall tagħna stess CSS segwit minn mazz sħiħ ta 'iskrittura tags għal affarijiet bħall-mapep, API innifsu, markatur speċjali bit-tikketta utilità li aħna imsemmi fil- ispeċifikazzjoni hija disponibbli lilek, jQuery innifsu, bootstrap innifsu, u librerija ieħor imsejħa jenfasizzaw li nitkellmu dwar fil-spec. Underscore.js bħall jquery.js hija librerija JavaScript li għandha mazz sħiħ ta 'funzjonalità li ħafna nies fid-xewqa dinja teżisti fil JavaScript innifsu. Allura dawn kollha huma attwalment pjuttost popolari. Imxejna wkoll jissemma typeahead li hija l-librerija li ma li dropdown AutoComplete u finalment link għall JavaScript tagħna stess. Sadanittant, u forsi Thankfully, dan mashup huwa mmexxi mill relattivament ftit HTML stabbiliti hawn fil-qiegħ. Avviż li aħna ve speċifikat div fil korp tagħna ta 'fluwidu ta' klassi kontenitur. Dan, per bootstrap ta dokumentazzjoni, just ifisser li din div se timla l- viewport jew tieqa tal-brawżer kompletament. Sadanittant, hawn taħt li għandna div thats jinfetaħ u jingħalaq immedjatament bl-ID uniku ta 'kanvas mappa. Dan issa huwa minn Google Dokumentazzjoni Mapep għall API tagħha, li biha I sempliċiment għandek bżonn li jkollhom div vojta li fih tinjetta, finalment, ta 'Google Maps attwali. Iżda aktar fuq li fil biss daqsxejn. Fl-aħħarnett, hemm formola ġewwa tal here li jimplimenta l-kaxxa tat-test up quccata tax-xellug fil-interface tagħna għat-tiftix. Avviż li aħna ve użati daqsxejn ta 'bootstrap hawn too-- affarijiet simili forma-inline u l-forma grupp. Imxejna minħabba l-eks ID unika forma. U mbagħad, finalment, I attwalment jkollhom tip input, li huwa pjuttost familjari, li ID huwa q. Just konvenzjoni. Q għall query-- jista 'jkollhom ġie msejjaħ xejn. U allura l-placeholder, sadanittant, hija belt, l-istat, u kodiċi postali li inti tista recall jaraw fil mashup tagħna demo qabel. Ejja qrib dan il-fajl. Issa tagħti ħarsa lejn il-fajls PHP li tistenna u mbagħad l-fajls JavaScript. Fil-fajls PHP tagħna, konna diġà implimentati għalik, per eżempju, aġġornamenti. Update.php-- aħna mhux se jonfqu enormi ammont ta 'ħin fuq here-- fil-qosor huwa l-fajl li tagħna Kodiċi JavaScript huwa għaddej li tikkuntattja via Ajax li teknika mhux sinkroniku thats mibnija fis JavaScript dawn il-jiem li l- ser inessu li jistaqsu update.php għal aktar informazzjoni. Speċifikament, ghaċ l-utent drags il-mappa jew jagħmel riċerka li jumps l-utent lejn post ieħor, kodiċi JavaScript tagħna, kif aħna ser malajr tara, huwa ser sejħa update.php u li jsaqsi għal 10 jew hekk markers fi ħdan il-viewport bbażata fuq il-GPS koordinati tal-quċċata u fil-qiegħ kantunieri ta 'dak mappa. Nistgħu mbagħad repopulate-mappa issa li l-utent mxiet l-iskrin sabiex biex tara 10 probabbilment ġdida markaturi ta 'bliet differenti. Sadanittant, dan il-fajl huwa finalment ser tesegwixxi query SQL kontra database tagħna mejda msejħa postijiet li huwa ser jirritorna dawk 10 jew inqas postijiet. Sadanittant, fil-articles.php, hija ieħor fajl konna bil-miktub fl-intier tiegħu. Din hija simili ħafna fl-ispirtu li Funzjoni Lookup Problem Set 7 ta, li kkuntattjati Yahoo Finanzi għalik. Dan il-fajl kuntatti Google News għalik, finalment ħtif a tinqara mill-magna version-- fil xi ħaġa imsejħa RSS format-- 'l-aħbarijiet għal Cambridge jew Beverly Hills jew kwalunkwe belt ħadthom searched għal ibbażata fuq dik geoparameter. Aħna parse dik RSS, li huwa biss tip ta 'lingwa markup imsejħa XML, u allura aħna attwalment jirritornaha lill-browser tiegħek u għall-kodiċi JavaScript tiegħek, speċifikament, f'format imsejjaħ JSON, JavaScript Notazzjoni Għan. Issa inti taf tara fil- specification-- we punt int lejn kif inti tista 'attwalment tara xi wħud mill-back-- miÍja JSON li din il-funzjonalità finalment ihallik timla dawk menus popup hekk li meta inti ikklikkja fuq markatur fil-mappa inti fil-fatt tara mazz sħiħ ta 'balal, li kull wieħed minnhom links għal artiklu. Issa ejja tagħti ħarsa lejn wieħed aħħar PHP fajl li, fortunatament, ma għandhom ħafna għaddej on-- biss Todo pretty big. Dritt issa dan il-fajl jiddikjara firxa imsejħa postijiet. U mbagħad finalment prints li firxa fil format-- JSON pretty-istampar hija biss hekk li affarijiet huma aktar faċli biex debug. Sfortunatament, fil- nofs hemm dan Todo, li tappella għalik li tfittex l- database għall-postijiet tqabbil ta 'ġeo HTTP parametru. U, tabilħaqq, dan se jkun wieħed mill challenges-- tiegħek biex jimplimentaw din il-funzjonalità hawn hekk li meta inti tikkuntattja dan il-fajl ma URL bħal tfittxija. php? ġeo = xi ħaġa, kodiċi tiegħek finalment se terġa 'lura JSON firxa ta 'kollha tal-postijiet fil tiegħek tabella database li jaqbel ma 'dak l-input. Allura jekk it-tipi utent fil Cambridge, fajl tiegħek hawn search.php għandhom finalment jirritorna firxa JSON għall kollha tal-logħbiet għall Cambridge, li jista 'jkun fil-Massachusetts imma jista 'jkun saħansitra imkien ieħor. Fl-aħħar nett, ejja tagħti ħarsa lejn żewġ fajls li huma ultimately-- statika fajl CSS tiegħek u l-fajl JavaScript tiegħek. Jekk immur fis-direttorju CSS tagħna, hemm mazz sħiħ ta 'fajls hemmhekk, iżda ħafna minnhom huma libreriji. Jien ser tagħti ħarsa, speċifikament, fil styles.css, li hija CSS globali tagħna stess thats ser stylize dan mashup kollu. I ser tħalli f'idejn lilek biex tinqara permezz l-kummenti hawnhekk, iżda, fil-qosor, dan huwa l-CSS li jiżgura li tagħna mashup, awtomatikament barra mill-kaxxa, jistenna eżattament il-mod irridu it-- mal-mappa timla l-port fehma u mal-tfittxija kaxxa up fil-quċċata xellug. Imxejna wkoll ħadu l-libertà ta ' stylizing li dropdown typeahead menu ftit ukoll. Il-fajl aktar importanti forsi għal din il-problema sett huwa dan l-aħħar wieħed, scripts.js. Ġewwa ta 'direttorju JS tiegħek huwa saħansitra aktar fajls. Kollha kemm huma fajls librerija ħlief għal dan wieħed, scripts.js. Jekk aħna miftuħa dan up, ejja tagħti tagħna tour finali permezz tal-funzjonijiet li huma mibnija fil dan il-fajl ghalik u attenzjoni sejħa għall-Todos li hemm quddiemna. Fil-quċċata ta 'dan il-fajl, huma tliet fatturi varjabbli globali. Waħda għal mappa, li se tkun referenza għal mappa Google tagħna. Inti tista 'taħseb li tip ta bħala pointer. Sadanittant, aħna għandna varjabbli globali ieħor imsejħa info, li jidher li jkun ħażna tal-valur tar-ritorn ta 'sejħa biex google.maps.InfoWindow ġdida. JavaScript jappoġġja oġġetti li huma simili ħafna fl-ispirtu li struts. U dak il-linja għal għanijiet tagħna qed tagħmel huwa ħolqien ta 'info ġdida tieqa fil-memorja u mbagħad żamma madwar referenza magħha fi varjabbli msejħa Info. U fl bejn dawk, sadanittant, huwa dak li jidher li jkun JavaScript vojta firxa imsejħa markers. Kollha ta 'dawk ikoni gazzetta, jew inti tista 'tagħżel icon oħra għal kollox, huma ser jiġi maħżun finalment f'dan firxa sabiex inkunu nistgħu faċilment żid għall il-mappa u tneħħihom mill-mappa. Issa ejja iscroll ftit u whiz permezz tal-kodiċi li għaddej biex tkun esegwiti hekk kif il-DOM jew dokument mudell oġġett jew il- Paġna nnifisha hija lesta. Ifakkar li din l-sintassi hawn sempliċiment jispeċifika li l-kodiċi ta 'wara għandhom jiġu eżegwiti biss meta l-browser ikun lest tagħbija kollox. Aħna l-ewwel tiddikjara mazz sħiħ ta 'stili, li tispiċċa stylizing il-mappa bħala kull l-spec. Aħna mbagħad tiddikjara mazz sħiħ ta 'għażliet, li jkompli customize-Google Mappa li aħna qed dwar li ssodata. Aħna mbagħad jużaw daqsxejn tal-kodiċi jQuery, li huwa spjegat fil daqsxejn aktar dettall fil-spec, li grab dak l-element, mappa-kanvas li aħna tant huma identifikati unikament. U allura din il-linja hawnhekk hija dak li jidher li magically tagħtina mappa Google ġewwa tal applikazzjoni tagħna stess, jaħżen referenza għaliha f'dak varjabbli imsejħa mappa. Fl-aħħarnett, stabbiliti hawn aħna jirreġistraw dak li sejjaħ semmiegħ. Aħseb mod back--, il-mod back-- għal żero ġimgħa fil CS50 meta ħarisna lejn scratch u appoġġ tagħha permezz walk permezz għal affarijiet imsejħa avvenimenti u xandiriet. Inti jista 'ma użaw it yourself, iżda huwa mekkaniżmu li bih browser f'dan il-każ jistgħu jiksbu l-attenzjoni tagħna meta huwa lest li attwalment tesegwixxi xi kodiċi. F'dan il-każ, li għaddej biex jisimgħu għall-mappa għal avveniment imsejjaħ idle. Dan ifisser li l-browser għandha lest tagħbija tal-mappa Google. Fuq dan il-punt funzjoni msejħa kkonfigurat għandhom finalment jiġu esegwiti. , Dik il-funzjoni kkonfigurat, Ser naraw, huwa miktub minn us. Issa stabbiliti hawn hija funzjoni li, sfortunatament, huwa biss markatur żid Todo. Per il spec. int ser bżonn li tikteb il-kodiċi li attwalment żżid marker-- jekk jidher bħal gazzetta, jew tindi thumb, jew xi ħaġa else-- għall-mappa Google. Hawnhekk issa hija li l-funzjoni imsejħa kkonfigurat. I ser tħalli f'idejn lilek biex taqra permezz ta 'dan f'aktar dettal, imma tirrealizza li aħna żid ftit Semmiegħa mazz aktar sabiex inkunu tista 'tesegwixxi kodiċi meta l- klikks utent fuq u drags il-mappa. Għandna wkoll kodiċi fil hawn li initializes li plugin typeahead b'tali mod li l-dropdown menu attwalment xogħlijiet. Imma ejja tiffoka fuq biss Koppja ta 'postijiet hawnhekk. Speċifikament, din tagħmel hawn. I ser tiddifferixxi l-online dokumentazzjoni u l-ispeċifikazzjoni għal kif timla din Todo. Iżda fil-qosor, din il-librerija typeahead tippermetti li inti tgħaddi fil x'hemm ġeneralment magħrufa bħala mudell, li għandu xi placeholders varjabbli simili ħafna fl-ispirtu li printf ta%. * i. Iżda f'dan il-każ, il- template kull l-spec jippermettilek li tispeċifika dak varjabbli li trid tinjetta minn data thats ġejjin lura minn xi ħaġa bħall-PHP fajls li inti stajt bil-miktub li huma jarmu output JSON. Issa stabbiliti hawn tirrealizza li aħna jisimgħu għall selezzjonijiet typeahead meta l-utent fil-fatt tmexxi a tiftix u jagħżel valur. Dan huwa kif aħna qed attwalment ser jisimgħu għal dak u tesegwixxi xi kodiċi bħala riżultat. Imbagħad aħna nkomplu kkonfigurat l-mashup biss ftit. U, finalment, nagħmlu sejħa dan l-aġġornament il-funzjoni. Huwa jaġġorna l-markaturi fuq l-iskrin. Aktar dwar dan fi ftit mument. Sadanittant, hemm ftit funzjonijiet żgħar fil hawn. Li waħda minnhom hija hideInfo li sempliċiment jagħlaq il-InfoWindow. Funzjoni oħra hawnhekk, li finalment Mhux se jkun twil wisq, neħħi markers. Li għaddej biex teqred dak kollu żid funzjoni markatur tiegħek ma. U allura l isfel hawnhekk hija search. U dan huwa wieħed interessanti għaliex aħna kitbu l-kodiċi JavaScript thats ser jitkellmu mal search.php fuq il- server u terġa 'lura xi reazzjoni. You, naturalment, xorta se jeħtieġ li jimplimentaw search.php, imma konna implimentati l JavaScript kodiċi li s ser jimmaniġġaw fatt twettaq tfittxijiet minn dik kaxxa ta 'test. B'mod partikolari, l-avviż li din il-funzjoni hawnhekk, tfittxija, ma sejħa search.php permezz ta 'metodu msejjaħ nikseb JSON, li rajna fil lecture. U l-sintassi hawn huwa xi ftit differenti minn lecture li aħna qed tuża jQuery hekk imsejħa interface wegħda. Aktar dwar dan fil-spec. Dan sempliċiment ifisser għall tagħna skopijiet issa li hemm huma żewġ funzjonijiet speċjali we bżonn iċċempel ma dot notazzjoni hawn immedjatament wara li ssejjaħ tikseb JSON. Wieħed huwa msejjaħ jsir. Wieħed huwa msejjaħ jonqsu. Inti tista 'taħseb li dawn bħala l-handler suċċess u l-handler falliment biss fil-każ xi ħaġa tmur ħażin. Issa ejja nħarsu lejn l-aħħar Koppja ta 'funzjonijiet fil dan il-fajl. Down hawn hija funzjoni imsejħa showInfo, li turi info f'wieħed minn dawk twieqi info ftit li pops up meta l-utent klikks markatur. Down hawn ulterjuri huwa dik il-funzjoni aġġornament li aħna għandna implimentati għalik. Hija tiddetermina l-limiti ta 'l-mappa. X'inhuma l-GPS koordinati ta taghha grigal u l-kantunieri lbiċ hawn. Imxejna ippreparata xi parametri HDP hawn u mbagħad mgħoddija lilhom finalment li update.php, li aħna ħadthom implimentata wkoll għalik. Li finalment gets lura xi JSON mill-fajl imsejħa update.php u imbagħad ineħħi kwalunkwe markaturi fuq l-iskrin u mbagħad itenni fuq id-data thats terga 'lura minn update.php, li għal darb'oħra huwa biss firxa JSON. U allura finalment żżid markatur għall kull waħda minn dawk il-postijiet, it-tqandil falliment jew żbalji li jista 'tajjeb ħafna jiġri. Issa biss biex jagħtuk togħma ta 'kif inti jista 'jmur dwar debugging dan il-proġett, jirrealizzaw li stajt miftuħa fl avvanz din tab hawn biex dan il-URL, pset8 / articles.php? ġeo = 02138. Issa, għal darb'oħra, artikli dwar PHP aħna implimentati għalik għalhekk dan mhux daqshekk dak li inti ser tkun qed tuża biex debug, iżda pjuttost it-teknika. Avviż li stajt mfittxija għall Kodiċi zip Cambridge ta here, u stajt gotten lura, tabilħaqq, JSON firxa ta 'JSON oġġetti ġewwa li minnhom huma tnejn link keys-- u titolu. Allura din il-funzjonalità xogħlijiet diġà għalik. Iżda din it-teknika ta manwalment għaddej lil URL bħal dan għal xi ħaġa bħal search.php? ġeo = Cambridge jew 02138 jew ikun x'ikun l-utent ikun ittajpjat fil ghandhom jipprova imprezzabbli kif inti, lilek innifsek, ipprova biex insemmu eżattament jekk jew għaliex search.php qed taħdem jew le. Fl-aħħarnett allura, inti għandek a todos ftit qabel int. Inti qed tmur biex l-ewwel implimenti li iskrittura importazzjoni li jaqra fil us.text fis-database tiegħek. Inti mbagħad ser bżonn biex jimplimentaw search.php b'tali mod li iġib ruħu eżattament kif speċifikat. Inti mbagħad tmur jridu li tiffoka fuq scripts.js u finalment timplimenta dawk koppja ta 'Todos, inkluż għall kkonfigurat u li template, żid markaturi, neħħi markers, u imbagħad aħħar, iżda mhux l-inqas, waħda touch personali. Ladarba inti tkun ħidma mashup tiegħek pjuttost bħal tagħna, l-għan fil-idejn hija għalik li żżid personali touch biex mashup tiegħek, jekk huwa estetiċi jew funzjonali. Ħu l-mashup dejjem hekk kemmxejn lejn il-livell li jmiss. Sakemm inti timbotta lilek innifsek lil hinn familjarità tiegħek mal-spec innifsu u pick up waħda teknika ġdid, anki jekk huwa biss xi ħaġa estetiċi bħal tibdil l- tqassim tal-mappa li inti qed tuża, l-ambitu li aħna nistennew tkun sodisfatt. Dan allura huwa problema Set 8 Mashup. Soġġorn sintonizzat għal aktar fit- ispeċifikazzjoni u aħjar ta 'xortih indirizzar dan, l-aħħar tiegħek Problema CS50 sett qatt. [Daqq ta mużika]