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