[Musiikki soi] DAVID J. MALAN: Hei. Otetaanpa kävellä Harjoitus 8 Mashup, joka on menossa haastaa sinut hyödyntää elementtejä Google Maps elementein Google News ja perunamuusi ne yhteen web sovelma, joka avulla käyttäjä voi etsiä kartan uutiset paikalliset tiettyihin kaupunkeihin, kaupunkeja ja postinumerot. Voit tehdä tämän, aiomme integroida joitakin HTML, CSS, PHP, SQL, JavaScript ja tekniikka yleisesti tunnettu AJAX jotta luoda tätä mukaansatempaavaa käyttökokemuksen. Katsotaanpa ensin Google Maps itse. Tämä tietenkin on ehkä tuttu käyttöliittymä. Mutta näyttää siltä, ​​että Google Maps myös API-- sovelluksen ohjelmointi interface-- jonka kautta voit ottaa osia Google Maps ja integroida ne omia sovelluksia. Todellakin, koko tämän prosessi, olet menossa löytää pari URL- erityisen hyödyllistä, että mainitaan eritelmän Harjoitus 8, nimenomaan tämä Aloittaminen Opas tai kehittäjän opas Google Maps API Version 3 sekä kuten Google Maps JavaScript API v3 viite, joka on hieman mystistä lukea mutta todellisuudessa on kaikki alemman tason tiedot siitä, mitä toimintoja tai menetelmiä ja esineitä ja ominaisuuksia ja tapahtumat tosiasiassa tulevat API, hyvin samanlainen henki on [kuultavissa] sivua. Nyt jos me katsomaan Google News, luultavasti ehkä nähdä tuttu käyttöliittymä täällä. Mutta näyttää siltä, ​​voit myös etsiä Google News erityisiä geographies kautta HTTP parametri nimeltä geo. Itse asiassa, jos olen lähennä täällä, huomaat, että Olen at news.google.com/news/section?geo=02138. Ja todellakin, jos voin zoomata ulos, näet, että olen katsot sivun koko joukko näkemyksiä Cambridge, Massachusetts. Samaan aikaan, jos olen itse muuttaa URL ei olla postinumeron näin, mutta jotain hieman Messier kuten Cambridge, + Massachusetts, jossa plus on tavalla koodata välilyönti vuonna URL ja paina Enter, näet, että olen itse katso lähes sama uutinen. Ehkä se on hieman erilainen koska Cambridge todella on useita postinumeroita. Nyt miten tiedän, että ja, Itse asiassa, miten voisin jotenkin sitoa kaupunkien että postinumerot tapauksessa I haluavat sallia käyttäjälle etsiä joko? No, käy ilmi, että on olemassa verkkosivusto siellä nimeltään geonames.org joka on aloite on vapaasti käytettävissä tietokanta kaikista lajittelee paikkatiedon, paitsi Yhdysvalloissa, mutta myös Muiden maiden samoin. Itse asiassa, jos menen tätä URL täällä, joka mainitaan myös ongelma asettaa erittely, näet sen kolme listaus läjän zip-tiedostoja joista mikä tahansa voi ladata sinulle. Itse asiassa tämä ongelma asettaa aiot ladata us.zip. Nyt tässä tiedosto, on koko nippu tekstidatassa. Tiedostot on hyvin samankaltainen CSV-- CSV file-- mutta se todella käyttää välilehdet rajata kentät. Nyt puolestaan ​​jos tarkastellaan täällä, mitä olen korostanut, kentät tähän tiedostoon menossa olla asioita, kuten maa-koodit, postinumerot, paikannimiä, ja sitten, jossain muodossa tai muita, valtiot ja maakunnat, yhteisöjä, ja enemmän. Itse olen jo ladannut tämän tiedoston etukäteen. Anna minun mennä eteenpäin ja avaa se here-- us.text-- ja todellakin, luultavasti nähdä, jos olen selaa linja 16792 näet muutamia ennätykset Cambridge, Massachusetts ja sen eri postinumerot. Mitä näet myös siellä on maakunta, joitakin numeroita että en ole todellakaan ymmärtää, mutta myös kaikki miten oikealla, Joissakin GPS-coordinates-- leveys- ja pituusaste. Tämä on suuri, koska yksi ominaisuuksia Google Maps API on kyky havaita missä olet maantieteellisesti kannalta GPS-koordinaatit. Nyt alkaa selvittää, miten Aloita sitomalla nämä asiat yhdessä. Me olemme antaneet teille koko nippu jakelu koodin, sekä MySQL-tietokantaa. Itse asiassa, jos vedän phpMyAdmin ottaa jo tuotu, kun pian, pset8.SQL, näet MySQL taulukon, joka näyttää tältä, ID-kenttä, maa koodi, postinumero, paikan nimi ja enemmän. Tyypit kaikki nämä sarakkeet I johtuu yksinkertaisesti lukemalla readme.text tiedosto tästä täsmennetyn onko kenttä on kokonaisluku, tai Varchar tai vastaavaa. Joten olemme luoneet, että taulukko sinua ja antanut sinulle SQL komentoja suorittaa luoda että taulukko omassa tietokannassa, mutta siellä oikeastaan ​​mitään tietoja se vielä. Pikemminkin olet menossa on lataa us.zip tai maan zip tiedosto, että URL siellä. Ja sitten olet menossa tarvitse kirjoittaa komentorivikirjoitus PHP se avaakaan että teksti tiedostoon, kerrata yli sen linjat, ja sitten kullekin nämä rivit eivät insertin tuohon asettaa taulukon MySQL-tietokannan. Joten lopussa tämän prosessin, luultavasti juossut että käsikirjoitus lopulta vain kerran teoriassa. Todellisuudessa et luultavasti ajaa se nippu kertaa kun yrittää korjata eri vikoja. Lopulta olet menossa on todella iso tietokanta tuhansia ja tuhansia maantieteellisiä rivejä. Sitten aiot laittaa että tuonti käsikirjoituksen syrjään kun se toimii ja tietokanta on mukavaa ja oikea, ja sitten aiot siirtyä todella täytäntöönpanosta mashup itse. Mashup on menossa katsomaan vähän jotain tällaista. Klo mashup.cs50.net, me on henkilöstön ratkaisu joka näyttää vähän jotain tällaista. Todellakin, jos olen klikkaa tästä lehdestä kuvake Cambridge, Massachusetts, näet kehruu icon hetkeksi ja sitten järjestetty lista, luettelomerkeillä artikkeleita liittyvät Cambridge, Massachusetts. Jos klikkaan Charlestown, Massachusetts, Nähdään sama että kaupunki. Ja jos klikkaan Watertown, Massachusetts, ei välttämättä ole mitään uutiset Watertown, niin näet jotain kuten hidas uutispäivä. Nyt puolestaan ​​vasemmassa yläkulmassa ovat joitakin tuttuja Google Maps valvonta jotta voit loitontaa, pannulla ylös, alas, vasemmalle ja oikealle, mutta myös hakukentän laitamme siellä. Joten jos etsin, rehellisesti, ainoa postinumeron tiedän, 90210, me itse nähdä Beverly Hills, Kalifornia. Kun napsautetaan se johtaa minut Kaliforniassa ja koko joukko uutisia Beverly Hills. Huomaa nyt, liian, mitä siellä tapahtui. Jos minä tällä kertaa etsiä 02138 tai jopa Cambridge pilkku Massachusetts tai joitakin sen variantti, saat pikku autocomplete pudotusvalikosta. Nyt tämä on käyttää plugin varten kirjasto nimeltään jQuery, ja että plugin on nimeltään typeahead. Me yksinkertaisesti lukea läpi dokumentaatio, kopioidut Js tiedosto integroitu jakautumiseen koodia niin, että voit lopulta voi kirjoittaa koodia, joka täyttää että pudotusvalikosta kanssa auto valintoja tai auto ehdotuksia. Nyt jakelu koodin kuitenkin, että sait ei tee läheskään niin paljon. Saat Google Map upotettu, ja saat säätimet ylhäällä vasemmalla, ja saat hakukenttään. Mutta jos kirjoitan jotain 02138, ei paikkoja löytyy vielä. Niin, että tulee olemaan yksi tavoitteistamme täällä. Lisäksi, jos otat askeleen taaksepäin ja tarkastella karttaa itse ei ole uutinen lainkaan. Vaikka painan ja vedä, ei markkereita oikeastaan näkyvät uutinen, koska se haaste jää sinulle samoin. Katsotaanpa katsomaan sitten klo jakelu koodin. Kun olet ladannut pset8.zip ja purkanut sen omaan vhost hakemistoon vuonna CS50 Appliance, näet nämä hakemistoja täällä sisällä. Bin-- joka yleensä tarkoittaa binary suoritettavia programs-- sisältää, kuten pset7, jotkut PHP tiedostoja, muita tiedostoja sisältävät, sitten julkinen, joka on tiedostoja, jotka olevan yleisesti saatavilla käyttäjälle, jossa on selain. Otetaanpa katsoa bin, ja me nähdä, että siellä on tiedosto siellä jo nimeltään Tuo. Jos avaamme tätä gedit, näemme että valitettavasti siellä ei ole paljon siellä. Kaikki, että on olemassa, kuitenkin, on roska ylhäällä jossa määritellään, millä interpreter-- tässä tapauksessa PHP-- tulisi käyttää tosiasiallisesti suorittamaan tätä tiedostoa. Mutta sitten jos se sanoo TODO on, jos olet menossa tarvitse kirjoittaa koodia että luultavasti vaatii config tiedoston, joka on vuonna sisältää hakemistossa kuten olemme tehneet ennen PHP-tiedostoja. Ja sitten olet menossa on jotenkin avata us.text johon oletettavasti purkanut jo. Sitten olet menossa on kerrata yli rivit tiedoston, ehkä käyttää joitakin toimintoja ehdotti selityksessä. Aseta sitten kukin näistä rivit MySQL-tietokanta käyttämällä hakutoiminto, joka olemme taas jos olet with-- tai ainakin variantti sen vuonna functions.php, joka näemme vain hetken. Nyt sulkea tuonti ja palata hakemistoa ja tällä kertaa mennä sisältää. Ja jos teen ls siellä, näet kolme tiedostoa aivan kuten Harjoitus 7. Ja sallikaa vilkaista, Esimerkiksi kello config.php. Siellä on vähemmän linjat kuin ennen, ja se näyttää tämä tiedosto sisältää constants.php ja functions.php. Käytämme hieman erilainen tekniikka tällä kertaa todella täsmentää, että nämä tiedostot ovat suhteellisia nykyiseen hakemistoon __ DIR__ edustaa mitä tahansa hakemistoon tämä tiedosto, config.php, on itse. Joten tämä on enemmän nimenomainen tapa määritellään mitä muita tiedostoja haluat vaatia. Nyt jos suljen tämän tiedoston ja avata constants.php sijaan, näet tiedoston hyvin mieleen Tehtävä Set 7: n niin hyvin, vaikkakin eri tietokantaan nimeltään pset8. Lopuksi functions.php, näemme vain yksi toiminto tällä kertaa nimeltään kysely. Tämä on lähes sama, paitsi hoidamme virheet tällä kertaa hieman eri tavalla, mutta se käyttö on sama kuin ongelma asettaa seitsemän. Mennäänpä takaisin meidän pset8 hakemiston, mennä yleisön ja siellä jos en tee ls, näet this-- articles.php, index.html, search.php, ja update.php-- kaikki tiedostot. Ja sitten css fontit, img, ja js hakemistoon aivan kuten pset7. Katsotaanpa katsomaan index.html, joka on olemaan todella alkupisteestä smashup. Nyt index.html, näet koko nippu niveljäsenet päähän, erityisesti, sillä bootstrap oman CSS seurasi koko joukko script Tunnisteet asioita, kuten karttoja, API itse, tussikynän etiketti apuohjelma, joka mainitsimme erittely on käytössäsi, jQuery itse, bootstrap itse, ja toinen kirjasto nimeltään alleviivaus joka puhumme spec. Underscore.js kuten jquery.js on JavaScript kirjasto että on koko joukko toimintoja että monet ihmiset maailmassa toive olemassa JavaScript itse. Joten kaikki nämä ovat itse asiassa varsin suosittu. Olemme myös mainitsi typeahead joka on kirjasto, joka tekee, että automaattinen täydennys pudotusvalikosta ja vihdoin linkin oman JavaScript. Samaan aikaan, ja ehkä Onneksi tämä Mashup ohjaavat suhteellisen vähän HTML tänne alareunassa. Huomaa, että olemme määritelty div vuonna kehomme luokan-säiliön neste. Tämä, per bootstrap n asiakirjat, vain tarkoittaa, että tämä div tulee täyttää viewport tai selaimen ikkunan täysin. Samaan aikaan, alla, että meillä on div joka on avattu ja heti kiinni kanssa yksilöllinen tunnus kartan kankaalle. Tämä nyt on Google Kartat asiakirjat sen API, jolloin en yksinkertaisesti tarvitsee on tyhjä div johon pistää, lopulta todellinen Google Maps. Mutta siitä lisää vain vähän. Lisäksi siellä on muotoa sisällä täällä joka toteuttaa tekstikenttään ylös vasemmalle meidän käyttöliittymä etsimistä. Huomaa, että olemme käyttäneet hieman bootstrap tässä too-- asioita, kuten muoto-inline ja muoto-ryhmä. Me olemme antaneet entinen yksilöllinen tunnus muodon. Ja sitten lopulta, olen oikeastaan tulotyypin, joka on melko tuttu, jonka tunnus on q. Vain yleissopimus. Q query-- voisi olla kutsuttu mitään. Ja sitten paikanvaraajassa Samaan aikaan on kaupunki, valtio, ja postinumeron, jonka saatatte muistaa nähdä meidän mashup demo aikaisemmin. Katsotaanpa sulkea tämän tiedoston. Nyt katsomaan PHP tiedostot odottavat ja sitten JavaScript-tiedostot. Meidän PHP tiedostot olemme jo toteutettu sinulle, esimerkiksi päivityksiä. Update.php-- emme viettää valtava paljon aikaa here-- pähkinänkuoressa on tiedosto, joka meidän JavaScript-koodi on menossa yhteyttä kautta AJAX että asynkroninen tekniikka, joka on rakennettu JavaScript näinä päivinä, että on menossa, jotta voimme kysyä update.php lisätietoja. Erityisesti milloin käyttäjä vetää karttaa tai suorittaa haun, joka hyppää käyttäjä toiseen paikkaan, JavaScript-koodi, kuten tulemme pian nähdä, on menossa soittaa update.php ja pyytää 10 tai niin markkereita sisällä viewport perusteella GPS koordinaatit ylä- ja alaosassa kulmat, että kartalla. Voimme sitten asuttaa kartta nyt käyttäjä on siirtynyt näytön järjestyksessä nähdä 10 luultavasti uutta merkkiaineita eri kaupungeissa. Samalla tämä tiedosto on lopulta menossa suorittaa SQL-kysely vastaan ​​meidän tietokanta taulukko nimeltään paikkoja, jotka tulee palauttaa nämä 10 tai vähemmän paikkoja. Samaan aikaan articles.php, on toinen tiedostoon olemme kirjoitettu kokonaisuudessaan. Se on hyvin samanlainen henki Harjoitus 7: n HAKU-toiminto, joka otti yhteyttä Yahoo Finance sinulle. Tämä tiedosto yhteystiedot Google News sinulle, lopulta tarttumalla koneellisesti luettavassa version-- jotain kutsutaan RSS format-- uutiset Cambridgen tai Beverly Hills tai mitä kaupunki olet etsinyt sillä perusteella, että geoparameter. Me jäsentää että RSS, joka on vain tyyppi kuvauskieli kutsutaan XML, ja sitten me oikeastaan palauttaa sen selaimen ja JavaScript-koodin, sanottuna muodossa nimeltä JSON, JavaScript Object merkintätapa. Nyt voit nähdä specification-- me kohta sinua miten voit itse nähdä jotkut JSON tulevina back-- että tämä toiminnallisuus lopulta avulla voit kansoittavat ne Ponnahdusvalikot niin että kun valitset on markkeri kartalla voit itse nähdä koko joukko luoteja, joista jokainen linkkejä artikkeli. Nyt katsomaan viimeisen PHP-tiedosto, joka onneksi ei on paljon menossa on-- vain aika iso TODO. Juuri nyt tämä tiedosto vakuuttaa array nimeltään paikkoja. Ja sitten lopulta tulostaa että joukko JSON format-- pretty-tulostus se vain niin, että asiat on helpompi debug. Valitettavasti Keskellä on tämä TODO, joka vaatii voit etsiä tietokanta paikkoja Matching geo HTTP parametri. Ja tosiaan, tämä on menossa olla yksi challenges-- toteuttaa tätä toimintoa täällä niin että kun otat yhteyttä tämän tiedoston URL kuten haku. php? geo = jotain, koodi lopulta palata JSON joukko kaikista paikoista omassa tietokannan taulukko, jotka vastaavat että panos. Joten jos käyttäjä on Cambridge, tiedosto täällä search.php olisi lopulta palata JSON array kaikkien otteluiden Cambridge, joka saattaa olla Massachusettsissa mutta voisi olla vielä missään muualla. Lopuksi, nyt katsomaan kaksi tiedostoja, jotka ovat staattisia ultimately-- CSS-tiedosto ja JavaScript-tiedoston. Jos menen meidän CSS hakemistoon, siellä on koko joukko tiedostoja siellä, mutta useimmat niistä ovat kirjastoja. Aion katsoa, Erityisesti, on styles.css, joka on meidän oma globaali CSS se menossa tyylitellä tämä koko mashup. Jätän sen sinulle lukea läpi kommentit tässä vaan, pähkinänkuoressa, tämä on CSS, joka varmistaa, että mashup, oletuksena kättelyssä, näyttää täsmälleen miten haluamme it-- kartan kanssa täyttämällä näkymä satamaan ja haku laatikko ylös vasemmassa yläkulmassa. Olemme myös ottaneet vapauden stylizing että typeahead pudotusvalikosta menu hieman samoin. Tärkein tiedosto ehkä tämä ongelma asettaa on tämä viimeinen, scripts.js. Sisällä oman JS hakemistoon on vieläkin tiedostoja. Kaikki ne ovat kirjaston tiedostoja paitsi tämä yksi, scripts.js. Jos avaamme tätä, sallikaa meidän lopullinen kiertueen toiminnot on rakennettu tämän tiedoston sinulle ja puhelun huomiota sen Todos edessämme. Ylimpänä olevan tiedoston, kolme maailmanlaajuista muuttujia. Yksi kartta, joka on menossa olla viittaus Google kartan. Voit ajatella sitä tavallaan osoittimena. Samalla olemme toinen globaali muuttuja nimeltään tietoa, joka näyttää olevan tallentamiseen paluu arvo puhelun uusiin google.maps.InfoWindow. JavaScript tukee esineiden ovat hyvin samankaltaisia ​​hengeltään Strutsi. Ja mitä tämän linjan Meidän tarkoituksiin tekee luo uusi info ikkuna muistiin ja pitää noin viite siihen muuttuja nimeltä Info. Ja välillä ne, Samaan aikaan on mitä näyttää olla tyhjä JavaScript array nimeltään markkereita. Kaikki nämä sanomalehden kuvakkeita, tai et saattaa valita toisen kuvakkeen kokonaan, aiotaan varastoida lopulta tässä array jotta voimme helposti lisätä kartta ja poistaa ne kartalla. Nyt selaa hieman ja hurahtaa kautta koodi, joka tulee olemaan toteuttaa heti DOM tai asiakirja oliomalli tai sivun itse on valmis. Muista, että tämä syntaksi täällä yksinkertaisesti täsmennetään että seuraava koodi tulisi suorittaa vain kun selain on päättynyt Lataus kaikki muu. Me ensin julistaa koko joukko tyylejä, joka päätyy stylizing kartan kohti spec. Sitten julistaa koko joukko vaihtoehtoja, joka mukauttaa Google kartta, että olemme aikeissa upottaa. Sitten käyttää hieman jQuery koodia, joka on selitetty hieman tarkemmin spec, napata että elementti, kartta-kangas että me niin yksilöidä. Ja sitten tämä linja tässä mikä näyttää maagisesti antaa meille Google kartta sisällä oma sovellus, tallentamiseen viittaus siihen että muuttuja nimeltä kartalla. Lopuksi tänne me Rekisteröidy mitä kutsutaan kuuntelija. Ajattele back-- tapa, tapa back-- viikolle nollaan CS50 kun me katsoimme Scratch ja tukeaan kävellä läpi asioita kutsutaan tapahtumia ja lähetyksiä. Et ehkä käytetty itse, mutta se on mekanismi, jolla selain tässä tapauksessa voi saada myös huomiota, kun se on valmis todella suorittaa koodia. Tässä tapauksessa se tulee kuunnella sen kartan tapahtuma nimeltä tyhjäkäynnillä. Tämä tarkoittaa sitä, että selain on latautunut Google Map. Tässä vaiheessa toiminto nimeltään configure pitäisi lopulta toteutetaan. Tämä toiminto määrittää, näemme, on kirjoittanut meille. Nyt täällä on funktio että valitettavasti on vain TODO Lisää merkki. Per spec. olet menossa tarvitsevat kirjoittaa koodia, joka tosiasiallisesti lisää marker-- onko se näyttää kuten sanomalehti, tai peukalo tack, tai jotain else-- Google kartan. Tässä nyt on, että toiminto nimeltään Määritä. Jätän sen sinulle lukemaan läpi tämän tarkemmin, mutta ymmärtää, että lisäämme nippu lisää Kuuntelijat jotta voimme suorittaa koodia, kun käyttäjä napsauttaa ja vetää karttaa. Meillä on myös koodi täällä, että alustaa että typeahead plugin niin että avattavasta menu todella toimii. Mutta katsotaanpa keskittyä vain pari paikkaa tässä. Erityisesti tämä tehdä täällä. Minä taipua verkossa dokumentointi ja erittely miten täyttää tässä TODO. Mutta pähkinänkuoressa, tämä kirjasto typeahead voit siirtää mitä on yleisesti tunnettu mallina, joka on joitakin vaihteleva paikkamerkeillä hyvin hengeltään samanlaisia ​​printf: n%. * s. Mutta tässä tapauksessa, mallin kohti spec voit määrittää mitä muuttujia haluat pistää datasta, joka on tullut takaisin jotain PHP tiedostoja, jotka olet kirjoittanut että säteilevät JSON-lähtö. Nyt täällä ymmärtää, että me olemme kuuntelee typeahead valinnat kun käyttäjä todella tekee etsiä ja valitsee arvon. Näin olemme todella menossa kuuntelemaan, että ja suorittaa koodia seurauksena. Sitten jatkamme määrittää Mashup vain vähän. Ja lopulta, me kutsumme Tämän toiminnon päivitys. Se päivittää markkereita ruudulla. Lisää että vain hetken. Samaan aikaan, siellä on muutama pieni toimintoja täällä. Joista yksi on hideInfo, joka yksinkertaisesti sulkee InfoWindow. Toinen funktio täällä, joka lopulta ei ole liian pitkä, poista markkereita. Se menee kumoa tahansa teidän Lisää merkki toiminto tekee. Ja sitten täällä on haku. Ja tämä on mielenkiintoinen, koska me kirjoittanut JavaScript-koodin, joka on aio puhua search.php päällä palvelimen ja saada takaisin joitakin vastausta. Sinä, tietenkin, vielä täytyy toteuttaa search.php, mutta olemme toteuttaneet JavaScript-koodi, joka on menossa käsitellä tosiasiallisesti suorittava hakee siitä tekstikenttään. Erityisesti ilmoituksessa että tämä toiminto täällä, haku, ei soita search.php niin sanotulla saada JSON, joka näimme luento. Ja syntaksin täällä on hieman erilainen alkaen luento että käytämme jQuery niin sanottu lupauksen käyttöliittymä. Lisää että spec. Tämä tarkoittaa yksinkertaisesti sitä meidän tarkoituksiin nyt että siellä kaksi erikoistoimintoja me täytyy soittaa dot merkintä täällä heti soittamalla saada JSON. Yksi on nimeltään done. Yksi on nimeltään epäonnistua. Voit ajatella näitä koska menestys ohjaajan ja epäonnistuminen käsittelijä vain jos jotain menee pieleen. Nyt katsokaamme viimeinen Pari toimintoja tämän tiedoston. Down tässä funktio nimeltään ShowInfo, joka Näyttelyt info johonkin näistä pikku info ikkunat ponnahtaa kun käyttäjä napsauttaa merkkiaine. Down täällä edelleen on että päivitys toiminto että olemme toteuttaneet sinulle. Se määrittää rajat kartalla. Mitkä ovat GPS-koordinaatit sen koilliseen ja lounaaseen kulmat täällä. Olemme valmistellut HDP parametrit täällä ja sitten siirretään ne lopulta ja update.php, jota olet myös toteuttaa sinulle. Että lopulta saa takaisin joitakin JSON alkaen tiedosto nimeltä update.php ja sitten poistaa kaikki markkereita ruudulla ja sitten iteroi tietoja, jotka ovat tulleet takaisin alkaen update.php, joka taas on vain JSON array. Ja sitten se lopulta lisää merkkiaine kukin niistä paikoista, käsittely- vika tai virheitä, jotka voivat hyvinkin tapahtua. Nyt vain antaa sinulle esimakua miten voisi mennä noin virheenkorjaus tätä hanketta, ymmärtää, että olen avattu edistää tätä välilehteä täällä tähän URL, pset8 / articles.php? geo = 02138. Nyt taas, artikkeleita PHP toteutimme sinulle joten tämä ei ole niin paljon mitä sinun on käyttää debug, vaan tekniikka. Huomaa, että olen etsinyt Cambridgen postinumeron täällä, ja olen saanut takaisin, todellakin, JSON joukko JSON esineitä, joista kaksi keys-- linkkiä ja otsikko. Joten tämä toiminnallisuus toimii jo sinulle. Mutta tämä tekniikka käsin menossa että URL kuten tämä jotain search.php? geo = Cambridge tai 02138 tai mitä käyttäjä on kirjoitettu olisi osoittautuu korvaamattomaksi kuin te itse, kokeile selvittää tarkalleen vai miksi search.php toimii tai ei. Lopulta sitten, sinulla on muutama todos edessäsi. Olet menossa ensimmäinen työkoneiden että tuonti skripti, joka lukee us.text tietokantaan. Olet sitten menossa tarvitsevat toteuttaa search.php niin, että se käyttäytyy aivan kuten on määritetty. Olet sitten menossa halua keskittyä scripts.js ja lopulta toteuttaa ne pari todos, lukien configure ja että mallin, lisätä merkkejä, poista markkereita, ja sitten kestää, mutta ei vähäisimpänä, yksi persoonallisuutta. Kun sinulla on mashup työskentely aivan kuten meidän, tavoite käsillä on voit lisätä henkilökohtaisen silauksen mashup, onko se esteettiset tai toiminnalliset. Ota mashup koskaan niin hieman seuraavalle tasolle. Niin kauan kuin olet työntää itse ulkopuolella perehtyneisyys spec itse ja poimia yksi tekniikka uusi, vaikka se on vain jotain esteettinen kuten muuttuvat ulkoasu kartan että käytät, soveltamisalaa että odotamme ovat tyytyväisiä. Se on sitten Harjoitus 8 Mashup. Pysy kuulolla lisää erittely ja onnea käsittelemme tätä, viimeinen CS50 ongelma asettaa koskaan. [Musiikki soi]