>> [Jwe mizik]
>> DAVID J. Malan: Bonjou.
Se pou nou pran yon ti mache nan Pwoblèm Set 8 macheup,
ki se ale nan defi ou a trase sou eleman pou Google Maps
ak eleman soti nan Google Nouvèl ak Mach yo ansanm nan yon aple wèb ki
pèmèt yon itilizatè nan rechèch yon kat jeyografik pou nouvèl lokal
nan tout lavil espesifik, vil yo, ak kòd postal.
Pou fè sa, nou ap ale nan entegre kèk HTML, CSS, PHP, SQL,
JavaScript, ak yon teknik jeneralman li te ye tankou Ajax nan lòd
yo kreye sa a Immersion itilizatè eksperyans.
>> Se pou nou premye pou Google Maps tèt li.
Sa a, nan kou, se petèt yon koòdone yo konnen yo.
Men, li sanble ke Google Maps tou bay yon aplikasyon API--
pwogramasyon interface-- via ki ou ka pran eleman nan Google Maps
ak entegre yo nan pwòp aplikasyon w yo.
Vreman vre, nan tout sa a pwosesis, w ap ale
yo jwenn yon koup la URL patikilyèman itil ki
yo mansyone nan la spesifikasyon pou Pwoblèm Set 8,
espesyalman sa a Pou kòmanse Gid oswa Gid Developer a
pou Google Maps API Version 3 kòm byen kòm API la Google Maps JavaScript
v3 referans, ki se yon ti jan pi plis Esoteric yo li
men aktyèlman gen tout nan nivo ki pi ba detay sou sa ki fonksyon oswa metòd
ak objè ak pwopriyete ak evènman aktyèlman vini ak API la,
trè menm jan an nan lespri [Fèbl] paj.
>> Koulye a, si nou pran yon gade nan Google News, ou pral
petèt wè yon koòdone abitye isit la.
Men, li vire soti ou kapab tou rechèch Google nouvèl pou géographiques espesifik
via yon paramèt HTTP rele Geo.
An reyalite, si mwen rale nan moute isit la, ou ap wè ke
Mwen se nan news.google.com/news/section?geo=02138.
Epi, tout bon, si mwen rale soti, ou pral wè ke mwen se
gade nan yon paj ki gen yon pakèt antye nan opinyon sou Cambridge, Massachusetts.
>> Pandan se tan, si mwen aktyèlman chanje nan URL pa yo dwe yon kòd postal tankou sa a,
men yon bagay yon ti kras messier tankou Cambridge, + Massachusetts,
kote plis la se yon fason a ou programme yon N. espas nan yon URL ak frape Antre,
ou pral wè ke mwen aktyèlman wè prèske menm nouvèl la.
Petèt li nan yon ti jan diferan paske Cambridge aktyèlman
gen kòd postal miltip.
Koulye a, ki jan ta mwen konnen ke, epi, an reyalite, ki jan t 'kapab mwen yon jan kanmenm
mare lavil ak tout ti bouk kòd postal nan ka mwen
vle pèmèt itilizatè a yo gade jiska swa?
Oke, li sanble ke gen nan yon sit entènèt yo deyò rele
geonames.org ki se yon inisyativ yo gen
yon baz done libreman disponib nan tout kalite enfòmasyon jeyografik,
pa sèlman pou US la, men tou, pou lòt peyi yo tou.
An reyalite, si m 'ale nan URL sa a isit la, ki se tou mansyone nan mete nan pwoblèm
spesifikasyon, ou ap wè li twa lis yon pakèt antye nan dosye postal
nenpòt nan ki kapab telechaje pa ou.
An reyalite, pou pwoblèm sa a mete w ap ale nan download us.zip.
Koulye a, ki nan sa a ranpli, se yon antye pakèt moun sou done nan fòma tèks.
Dosye yo se trè menm jan ak yon CSV-- vigil separe valè file--
men li aktyèlman sèvi ak onglè delimiter jaden yo.
Koulye a, pandan se tan, si ou gade isit la nan sa m 'te make,
jaden yo nan sa a ranpli yo ale yo dwe bagay sa yo tankou kòd peyi,
kòd lapòs, non kote, ak Lè sa a, nan kèk fòm
oswa lòt, eta yo ak konte, kominote yo, ak plis ankò.
An reyalite, mwen te deja telechaje sa a ranpli nan davans.
Kite m 'ale pi devan epi louvri li isit lan-- us.text--, epi, tout bon, ou pral
wè si mwen woulo liv desann nan liy 16.792 ou pral wè yon dosye pou Cambridge kèk,
Massachusetts ak divès kalite kòd postal li yo.
Kisa ou wè tou gen konte a, kèk nimewo ki mwen pa fè sa vrèman
konprann, men tou, tout wout la sou bò dwat la,
kèk kowòdone GPS latitid ak lonjitid.
Sa a se gwo paske youn nan karakteristik yo ki nan Google Maps API
se kapasite a yo detekte kote ou ye jewografik
an tèm de GPS kowòdone.
>> Koulye a, kite a kòmanse figi konnen kouman ou kòmanse mare bagay sa yo ansanm.
Nou te ban nou yon antye pakèt moun sou kòd distribisyon,
osi byen ke MySQL baz done.
An reyalite, si mwen rale yon fpmyadmen gen deja enpòte, menm jan ou byento pral,
pset8.SQL, ou ap wè yon tab MySQL ki sanble tankou sa a, yon jaden ID, peyi
kòd, lapòs Kòd, non plas ak plis ankò.
Kalite ki nan tout moun sa yo kolòn mwen sòti tou senpleman
pa li readme.text la ranpli isit la ki espesifye
si wi ou non yon jaden se yon nonb antye relatif, oswa varchar oswa tankou an.
>> Se konsa, nou te kreye ki tab pou ou menm ak ba ou kòmandman yo SQL
al touye yo kreye ki tab nan baz done pwòp ou a,
men gen nan aktyèlman pa gen okenn done nan li ankò.
Olye de sa, w ap ale nan gen yo download us.zip oswa postal nenpòt ki peyi a
dosye soti nan ki URL la.
Lè sa a, w ap ale nan gen yo ekri yon script liy lòd nan PHP sa a, se
pral louvri moute ke tèks ranpli, repekte sou liy li yo,
ak Lè sa a pou chak nan liy sa yo fè yon insert
nan ki mete tab nan baz done miskl ou.
Se konsa, nan fen a nan pwosesis sa a, ou pral te kouri ke script finalman
sèlman yon fwa nan teyori.
An reyalite ou pral pwobableman kouri li yon pakèt moun sou fwa
pandan y ap eseye ranje divès kalite pinèz.
>> Alafen, w ap ale nan gen yon reyèlman gwo baz done ak dè milye
ak dè milye de ranje jeyografik.
Lè sa a, w ap ale nan mete sa enpòte script sou kote yon fwa li ap travay
ak baz done ou se bèl epi ki kòrèk, ak Lè sa a
w ap ale pou avanse pou sou aktyèlman mete ann aplikasyon macheup a tèt li.
Macheup a ki pral gade yon ti kras yon bagay tankou sa a.
Nan mashup.cs50.net, nou gen yon solisyon anplwaye
ki sanble yon ti kras yon bagay tankou sa a.
Vreman vre, si mwen klike sou sa a jounal icon pou Cambridge, Massachusetts,
ou pral wè yon bondi icon yon ti tan ak Lè sa a,
yon te bay lòd lis, yon lis pus nan atik
ki gen rapò ak Cambridge, Massachusetts.
Si m 'klike sou Charlestown, Massachusetts,
Mwen pral wè menm bagay la pou ki vil.
Men, si mwen klike sou Watertown, Massachusetts,
gen pa ta ka gen nenpòt ki nouvèl la soti nan Watertown,
se konsa ou pral wè yon bagay tankou ralanti jou nouvèl.
>> Koulye a, pandan se tan, sou bò gòch tèt yo kèk abitye Google Maps kontwòl
kite ou rale soti, chodyè leve, desann, kite, ak dwa,
men tou, yon bwat rechèch ke nou mete ladan l '.
Se konsa, si mwen fè rechèch pou, franchman, sèlman lòt kòd postal mwen konnen,
90210, nou pral aktyèlman wè Beverly Hills, California.
Lè klike li mennen m 'nan California ak yon pakèt antye
nan nouvèl sou Beverly Hills.
Koulye a, remake, tou, sa ki te pase a.
Si m 'sa a rechèch tan pou 02138 oswa menm Cambridge vigil Massachusetts oswa kèk
Variant ladan l ', ou jwenn yon ti kras otokonple deroulan.
Koulye a, sa a se lè l sèvi avèk yon Plugin pou yon bibliyotèk rele jQuery,
epi li se ki plugin rele typeahead.
Nou tou senpleman li nan dokiman an,
telechaje js yo depoze entegre nan kòd la distribisyon pou ke ou
finalman ka ekri kòd la ke plen ki meni deroulan ak oto a
seleksyon oswa sijesyon yo oto.
>> Koulye a, kòd la distribisyon, menm si, ke ou te resevwa pa fè prèske kòm anpil.
Ou jwenn kat jeyografik la Google embedded, ak ou jwenn kontwole yo nan tèt la kite,
epi ou jwenn bwat rechèch la.
Men, si mwen tape yon bagay tankou 02138, pa gen okenn kote yo jwenn ankò.
Se konsa, ki k ap pase yo dwe youn nan objektif nou isit la.
Anplis, si ou pran yon etap retounen lakay yo epi gade nan kat jeyografik nan tèt li,
gen nan pa gen nouvèl tou.
Menm si mwen klike sou ak trennen, pa gen okenn makè aktyèlman
parèt pou nouvèl paske sa se defi kite pou ou kòm byen.
>> Se pou nou pran yon gade Lè sa a, nan kòd la distribisyon.
Yon fwa ou te telechaje pset8.zip ak dekonprese li
nan anyè vhost ou nan aparèy la CS50,
ou pral wè sa yo repèrtwar isit la andedan.
Bin-- ki jeneralman vle di pou binè pou ègzèkutabl programs--
gen ladan, tankou nan pset7, gen kèk PHP dosye ki lòt dosye enkli ladan yo,
Lè sa a, piblik, ki se dosye yo ki bezwen
yo dwe piblikman aksesib nan yon itilizatè ak yon navigatè.
Se pou nou pran yon gade nan la bin anyè, ak nou pral
wè ke gen nan yon dosye gen deja rele Import.
Si nou louvri sa a ak jdi, nou pral wè ki, malerezman, gen nan pa anpil
la.
Tout sa ki ki gen la, menm si, se yon kaz nan tèt
ki espesifye ki interpreter-- nan ka sa a PHP--
ta dwe itilize yo aktyèlman egzekite sa a dosye.
Men, Lè sa a, kote li di Todo se kote w ap
ale nan bezwen yo ekri kèk kòd ki pwobableman mande pou config a
dosye ki nan nan gen ladan an anyè kòm nou te fè l 'anvan ak dosye PHP.
Lè sa a, w ap ale nan gen yon jan kanmenm louvri moute
us.text ki ou prezimableman te dekonprese deja.
Lè sa a, w ap ale nan gen yo repekte sou liy ki nan ki ranpli,
petèt lè l sèvi avèk kèk nan fonksyon yo sijere nan spesifikasyon la.
Lè sa a, insert chak nan sa yo liy nan miskl baz done
lè l sèvi avèk fonksyon an sijè rechèch, ki nou te ankò bay ou with--
oswa omwen yon Variant ladan l 'nan functions.php,
ki nou pral wè nan jis moman yon.
>> Koulye a, kite a fèmen enpòte ak ale tounen nan anyè nou yo ak tan sa a ale nan
gen ladan.
Men, si mwen fè ls la, ou pral wè twa dosye byen tankou Set Pwoblèm 7.
Se pou nou pran yon gade rapid, pou egzanp, nan config.php.
Nan la, se mwens liy pase anvan, epi li
sanble sa a ranpli gen ladan constants.php ak functions.php.
Nou ap itilize yon yon ti kras diferan teknik tan sa a alantou yo aktyèlman
presize ke dosye sa yo, se relatif nan anyè aktyèl la __ DIR__
reprezante tou sa anyè sa a dosye, config.php, se tèt li nan.
Se konsa, sa a se yon plis eksplisit fason pou ki espesifye
sa lòt dosye ou vle mande pou.
>> Koulye a, si mwen fèmen sa a ranpli ak louvri moute constants.php olye de sa,
ou pral wè yon dosye trè okoumansman Pwoblèm Set 7 a kòm byen, kwake
ak yon baz done diferan rele pset8.
Finalman, nan functions.php, nou pral wè sèlman yon sèl fonksyon
tan sa a yo rele rechèch.
Sa a se prèske menm bagay la tou eksepte nou okipe erè tan sa a alantou yon ti jan
yon fason diferan, men li la l 'se menm jan ak nan pwoblèm mete sèt.
>> Koulye a, kite a ale tounen nan pset8 nou an anyè, ale nan piblik, ak nan la
si m 'fè ls, ou ap wè this-- articles.php, index.html, search.php,
ak update.php-- tout dosye.
Lè sa a, polis CSS, img, ak nan js anyè byen tankou pset7.
>> Se pou nou pran yon gade nan index.html, ki se
pral fè reyèlman nan pwen antre smashup la.
Koulye a, nan index.html, ou ap wè yon antye pakèt moun sou eleman lyen nan tèt la,
espesyalman, pou demaraj pou pwòp nou an CSS ki te swiv pa yon pakèt antye nan script
Tags pou bagay sa yo tankou kat, API a tèt li, yon makè espesyal ak etikèt
sèvis piblik ke nou mansyone nan la spesifikasyon se disponib nan ou,
jQuery tèt li, demaraj tèt li, ak yon lòt bibliyotèk
rele souliye ki nou pale sou nan espèk a.
Underscore.js tankou jquery.js se yon bibliyotèk JavaScript
ki gen yon pakèt antye nan fonksyonalite ke yon anpil nan moun ki nan vle a mond
egziste nan JavaScript tèt li.
Se konsa, tout sa yo se aktyèlman byen popilè.
Nou te tou mansyone typeahead ki se bibliyotèk la ki
fè sa deroulan otokonple ak finalman yon lyen nan pwòp JavaScript nou an.
>> Pandan se tan, e petèt Erezman, sa a macheup
se kondwi pa relativman ti kras HTML desann isit la nan pati anba a.
Avi ke nou te espesifye yon div nan kò nou nan likid klas-veso.
Sa a, pou chak demaraj nan dokiman, jis
vle di ke div sa a ki pral ranpli a viewport oswa fenèt navigatè a konplètman.
>> Pandan se tan, anba a ke nou gen yon div ki nan louvri ak imedyatman fèmen
ak ID a inik nan kat jeyografik twal.
Sa a kounye a se soti nan Google Maps dokiman
pou API li yo, annakò ak sa Mwen tou senpleman bezwen gen yon div vid nan ki pou bay piki pou,
finalman, yon vrè Google Maps.
Men, plis sou sa nan jis yon ti jan.
>> Finalman, gen nan yon fòm andedan nan isit la ki
aplike ti bwat la tèks moute tèt kite nan koòdone nou an pou chèche.
Avi ke nou te itilize yon ti jan nan demaraj
isit la too-- bagay sa yo tankou fòm-aliye ak fòm-gwoup.
Nou te bay ansyen an inik ID nan fòm.
Lè sa a,, finalman, mwen gen aktyèlman yon kalite D ', ki se trè yo konnen yo,
ki gen ID se q.
Jis yon konvansyon.
Q pou sijè rechèch te kapab gen te rele anyen.
Lè sa a, kontneur la, pandan se tan, se vil, eta,
ak lapòs Kòd ki ou ta ka sonje wè nan macheup nou an Demo pi bonè.
Se pou nou fèmen sa a dosye.
>> Koulye a, pran yon gade nan dosye yo PHP ki tann ak Lè sa a dosye yo JavaScript.
Nan dosye PHP nou yo, nou te deja aplike pou ou,
pou egzanp, dènye enfòmasyon yo.
Update.php-- nou pa pral depanse yon gwo kantite tan sou isit lan-- nan yon Nutshell
se dosye a ke nou an JavaScript Kòd ki pral
Kontakte via Ajax ki teknik asenkron sa a, se
bati nan JavaScript jou sa yo sa a, se ale nan pèmèt nou mande update.php
pou plis enfòmasyon.
>> Espesyalman, nenpòt lè itilizatè a tir kat la
oswa fè yon rechèch ki so itilizatè a nan yon lòt kote,
Kòd JavaScript nou an, menm jan nou pral byento wè, se
pral rele update.php epi mande pou 10 oswa konsa makè
nan viewport la ki baze sou GPS kowòdone a
nan tèt la ak anba kwen nan kat jeyografik sa.
Nou ka Lè sa a, rpeple kat jeyografik la kounye a ke te itilizatè a deplase ekran an yo nan lòd
wè 10 pwobableman nouvo makè pou tout ti bouk diferan.
Pandan se tan, sa a ranpli se finalman ale nan egzekite yon sijè rechèch SQL
kont baz done nou an tab rele kote ki
ki pral retounen moun 10 oswa mwens kote yo ye.
>> Pandan setan, nan articles.php, se yon lòt ranpli nou te ekri nan antye li yo.
Li trè menm jan an nan lespri Fonksyon Passage Set Pwoblèm 7 la,
ki kontakte Yahoo Finans pou ou.
Sa a dosye kontak Google Nouvèl pou ou, finalman arachman
yon machin-lizib version-- nan yon bagay
rele RSS format-- nan nouvèl la pou Cambridge oswa Beverly Hills
oswa kèlkeswa sa ou te fouye vil pou ki baze sou ki geoparameter.
Nou analizan ki RSS, ki se jis yon di ki kalite lang markeup rele XML,
ak Lè sa a nou aktyèlman retounen li nan navigatè ou a
ak nan kòd JavaScript ou, espesyalman, nan yon fòma yo rele
JSON, JavaScript Notasyon objè.
Koulye a, ou pral wè nan a specification-- nou pwen ou
nan ki jan ou ka aktyèlman wè kèk nan JSON vini back-- la
ki sa a fonctionnalités finalman pèmèt ou peple moun meni contextuel konsa
ki lè ou klike sou yon makè nan kat jeyografik la
ou aktyèlman wè yon pakèt antye nan bal, chak nan yo ki
lyen ki mennen nan yon atik.
>> Koulye a, kite a pran yon gade nan yon dènye Dosye PHP ki, erezman, pa fè sa
gen anpil pral on-- jis yon trè gwo todo.
Dwa koulye a sa a ranpli deklare yon etalaj rele kote.
Lè sa a, finalman simagri ki etalaj nan JSON format--
bèl-enprime li jis se konsa ke bagay sa yo yo pi fasil yo debug.
Malerezman, nan la mitan gen todo sa a,
ki fè apèl pou ou nan rechèch la baz done pou kote matche yon Geo HTTP
paramèt.
>> Epi, tout bon, sa a se pral dwe youn nan challenges-- ou
aplike fonctionnalités sa a isit la se konsa ke lè ou kontakte sa a ranpli ak
yon URL tankou rechèch. PHP? Geo = yon bagay, kòd ou a pral finalman retounen yon JSON
etalaj nan tout nan kote ki nan ou tab baz done ki matche ak ki opinyon.
Se konsa, si itilizatè a kalite nan Cambridge, dosye ou isit la search.php
ta dwe finalman retounen yon etalaj JSON pou tout moun nan alimèt yo pou Cambridge,
ki ta dwe nan Massachusetts men ta ka menm nenpòt lòt kote.
>> Anfen, kite a pran yon gade nan de dosye ki estatik ultimately--
dosye CSS ou ak dosye JavaScript ou.
Si m 'ale nan anyè CSS nou an, gen nan yon pakèt antye nan dosye a,
men pi fò nan yo se bibliyotèk yo.
Mwen pral pran yon gade, espesyalman, nan styles.css,
ki se CSS pwòp nou mondyal sa a, se ale nan stilize macheup sa a tout antye.
Mwen pral kite li jwenn ou pou li nan kòmantè yo nan dokiman sa a, men, nan yon Nutshell,
sa a se CSS la ki asire ke nou an macheup, pa default soti nan bwat la,
sanble egzakteman wout la nou vle l-- ak kat jeyografik la ranpli pò a View
ak rechèch la bwat moute sou bò gòch an tèt la.
Nou te tou pran libète a nan stylizing ki deroulan typeahead
meni yon ti kras tou.
>> Dosye ki pi enpòtan petèt pou pwoblèm sa a mete
se yon sèl sa a sot pase yo, scripts.js.
Anndan nan anyè JS ou se menm plis dosye.
Yo tout yo dosye bibliyotèk eksepte pou yon sèl sa a, scripts.js.
Si nou louvri sa a leve, kite a pran nou an vwayaj final nan fonksyon yo ke
yo bati nan sa a ranpli pou ou ak pou rele atansyon
TODOS yo ki kouche devan yo.
>> Nan tèt yo nan sa a ranpli, twa varyab mondyal.
Yonn pou yon kat jeyografik, ki se ale nan gen yon referans a kat jeyografik Google nou an.
Ou ka panse a li sòt de kòm yon konsèy.
Pandan se tan, nou gen yon lòt varyab mondyal
rele info, ki parèt yo dwe estoke valè a retounen nan yon apèl
nan nouvo google.maps.InfoWindow.
JavaScript sipòte objè ki yo trè menm jan an nan lespri Janb.
Ak sa ki liy sa a pou rezon nou an ap fè
se kreye yon nouvo info fenèt nan memwa ak Lè sa a,
kenbe otou yon referans toujou nan yon varyab rele Info.
Ak nan ant sa yo, pandan se tan, se sa ki parèt
yo dwe genyen yon JavaScript vid etalaj rele makè.
Tout moun sa yo ikon jounal, oswa ou ta ka chwazi yon lòt icon nèt,
yo ale nan dwe estoke finalman nan sa a etalaj
pou nou ka trè fasil ajoute nan kat jeyografik la ak retire yo nan kat la.
>> Koulye a, kite a desann yon ti jan ak yon ti kras sifleman
nan kòd la ki k ap pase yo dwe egzekite pi vit ke Dom la oswa dokiman
modèl la objè oswa paj tèt li se pare.
Sonje byen, sa a sentaks isit la tou senpleman presize
ke kòd ki anba la a yo ta dwe egzekite sèlman
lè gen navigatè a fini chaje tout lòt bagay.
>> Nou premye deklare yon pakèt antye nan Styles,
ki fini stylizing kat jeyografik la tankou pou chak espèk a.
Nou Lè sa a, deklare yon pakèt antye nan opsyon,
ki plis Customize Google la kat jeyografik ki nou ap sou yo embed.
Nou Lè sa a, sèvi ak yon ti jan nan jQuery kòd, ki se eksplike nan yon detay ti jan pi plis
nan espèk a, gen tan pwan ki eleman, kat jeyografik-twal
ke nou se konsa inikman idantifye.
Lè sa a, liy sa a isit la se sa ki sanble yo maji ban nou
yon kat jeyografik Google andedan nan aplikasyon pwòp nou an,
estoke yon referans toujou nan ki varyab rele kat jeyografik.
>> Finalman, desann isit la nou enskri sa ki rele yon koute.
Panse fason back--, fason back-- semèn zewo nan CS50
lè nou gade grafouyen ak sipò li nan yon ti mache
a pou bagay sa yo rele evènman ak emisyon.
Ou pa ta ka te itilize li tèt ou, men li la
yon mekanis kijan yon navigatè nan ka sa a
ka jwenn atansyon nou lè li pare yo aktyèlman egzekite kèk kòd.
Nan ka sa a, li pral koute nan kat jeyografik la pou yon evènman rele san fè anyen konsa.
Sa vle di ke navigatè a gen fini chaje kat jeyografik la Google.
Nan pwen sa a yon fonksyon rele configured ta dwe finalman
dwe egzekite.
Sa fonksyon, configured, nou pral wè, ki ekri pa nou.
>> Koulye a, desann isit la se yon fonksyon ki, malerezman,
se jis yon makè todo ajoute.
Per espèk a. w ap ale nan bezwen yo ekri kòd la ki aktyèlman
ajoute yon marker-- si li sanble tankou yon jounal, oswa yon fofile gwo pous,
oswa yon bagay else-- nan kat jeyografik la Google.
Isit la kounye a se ke fonksyon rele configured.
Mwen pral kite li jwenn ou pou li nan sa a nan plis detay,
men reyalize ke nou ajoute yon pakèt moun plis Tande
pou nou ka egzekite Kòd la lè itilizatè klik sou ak tir kat la.
Nou menm tou nou gen kòd nan isit la ke inisyalizasyon ki typeahead plugin
se konsa ke deroulan nan meni aktyèlman ap travay.
>> Men, kite a konsantre sou jis yon koup la kote dokiman sa a.
Espesyalman, sa a fè isit la.
Mwen pral ranvwaye sou entènèt dokiman ak spesifikasyon la
pou ki jan yo ranpli nan todo sa a.
Men, nan yon Nutshell, sa a bibliyotèk typeahead pèmèt ou yo pase
nan sa ki jeneralman li te ye kòm yon modèl, ki te gen kèk placeholders varyab
trè menm jan an nan lespri% printf la. * a.
Men, nan ka sa a, nan modèl pou chak espèk a
pèmèt ou presize ki sa varyab ou vle
pou bay piki pou soti nan done ki nan vini tounen soti nan yon bagay tankou PHP a
dosye ki ou te ekri ke yo émettant JSON pwodiksyon.
>> Koulye a, desann isit la reyalize ke nou se koute pou seleksyon typeahead
lè itilizatè a aktyèlman ap fè yon rechèch ak chwazi yon valè.
Sa a se ki jan nou ap aktyèlman ale nan koute pou ki
ak egzekite kèk kòd kòm yon rezilta.
Lè sa a, nou kontinye nan konfigirasyon macheup a jis yon ti kras.
Epi, finalman, nou rele sa a aktyalizasyon fonksyon.
Li dènye nouvèl makè yo sou ekran an.
Plis sou sa nan jis moman yon.
Pandan se tan, gen nan yon kèk ti fonksyon nan isit la.
Youn nan ki se hideInfo ki tou senpleman fèmen InfoWindow la.
Yon lòt fonksyon isit la, ki finalman pa pral twò lontan, retire makè.
Sa k ap pase yo defèt tou sa fonksyon makè ajoute ou fè.
Lè sa a, desann isit la se rechèch.
Lè sa a se yon sèl enteresan paske nou te ekri kòd la JavaScript sa a, se
ale nan pale ak search.php sou la sèvè epi pou yo jwenn tounen kèk repons.
>> Ou menm, nan kou, ap toujou bezwen aplike search.php,
men nou te aplike a JavaScript kòd ki nan
ale nan okipe aktyèlman fè fouy soti nan ki bwat tèks.
An patikilye, avi ke sa a fonksyon isit la,
rechèch, rele search.php pa yon metòd ki rele
jwenn JSON, ki nou te wè nan konferans.
Ak sentaks la isit la se yon ti kras diferan
nan konferans nan ke nou ap lè l sèvi avèk jQuery sa yo rele koòdone pwomès Bondye.
Plis sou sa nan espèk a.
Sa a tou senpleman vle di pou nou an rezon kounye a ki di ke gen
yo se de fonksyon espesyal nou bezwen rele ak notasyon dot
isit la imedyatman apre w rele jwenn JSON.
Youn yo rele fè.
Youn yo rele febli.
Ou ka panse a sa yo kòm kap okipe-a siksè
ak kap okipe-a echèk jis nan ka yon bagay ale mal.
>> Koulye a, kite pou yo gade nan dènye a koup la fonksyon nan sa a dosye.
Desann isit la se yon fonksyon rele showInfo, ki
montre enfòmasyon nan youn nan moun ki ti kras fenèt info ki
Pops leve lè itilizatè a klik yon makè.
Desann isit la plis se ki fonksyon aktyalizasyon
ke nou te aplike pou ou.
Li detèmine limit yo nan kat la.
Ki sa ki GPS kowòdone a nan li yo nòdès ak nan kwen sidwès isit la.
Nou te prepare kèk paramèt HDP isit la ak Lè sa a, te pase yo finalman
update.php, ki nou te tou aplike pou ou.
Ki finalman vin tounen kèk JSON nan dosye a rele update.php
ak Lè sa a retire nenpòt makè sou ekran an
ak Lè sa a iterates sou done a ki nan tounen
soti nan update.php, ki ankò se jis yon etalaj JSON.
Lè sa a, li finalman ajoute yon makè pou chak nan sa yo kote, manyen echèk
oswa erè ki ta ka trè byen rive.
>> Koulye a, jis ba ou yon gou nan ki jan ou ta ka ale sou debogaj pwojè sa a,
reyalize ke mwen te louvri nan avanse tab sa a isit la nan URL sa a,
pset8 / articles.php? Geo = 02138.
Koulye a, ankò, atik sou PHP nou aplike pou ou
se konsa sa a se pa tèlman ki sa ou pral lè l sèvi avèk
debug, men pito teknik la.
Avi ke mwen te fouye pou Kòd postal Cambridge la isit la,
ak mwen te vinn tounen, tout bon, yon JSON etalaj de JSON objè andedan nan yo ki
yo se de keys-- lyen ak tit.
>> Se konsa, sa a fonctionnalités travay deja pou ou.
Men, teknik sa a nan manyèlman pral nan yon URL tankou sa a pou yon bagay tankou
search.php? Geo = Cambridge oswa 02138 oswa tou sa te itilizatè a tape nan ta dwe
pwouve anpil valè menm jan ou, tèt ou, eseye eseye figi konnen egzakteman si wi ou poukisa
search.php ap travay oswa ou pa.
>> Alafen lè sa a, ou gen yon todo kèk devan yo nan ou.
W ap ale nan premye egzekite ki script enpòte ki
li nan us.text nan baz done ou.
Ou ap Lè sa a, ale nan bezwen aplike search.php
se konsa ke li konpòte li egzakteman jan sa espesifye.
Ou ap Lè sa a, ale nan vle yo konsantre sou scripts.js
ak finalman aplike moun koup la TODOS,
ki gen ladan pou configured e ke modèl,
ajoute makè, retire makè, ak Lè sa a, pase a, men pa pi piti, yon sèl
manyen pèsonèl.
>> Yon fwa ou gen k ap travay macheup ou byen tankou nou, objektif la nan men
se pou ou ajoute yon pèsonèl manyen macheup ou,
si li nan ayestetik oswa fonksyonèl.
Pran macheup a janm konsa yon ti kras nan yon nivo pwochen.
Se konsa, lontan ke ou pouse tèt ou pi lwen pase connaissance ou a ak espèk nan tèt li
epi ranmase yon teknik nouvo, menm si li nan jis
yon bagay ayestetik tankou chanje an aranjman tèks yo nan kat jeyografik la ke ou ap itilize,
sijè ki abòde lan ki nou espere pral satisfè.
Sa Lè ​​sa a, se Pwoblèm Set 8 macheup.
Rete branche pou plis nan a spesifikasyon ak pi bon nan chans
abòde sa a, dènye ou Pwoblèm CS50 mete tout tan.
>> [Jwe mizik]