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