>> [MIZIK jwe]
>> Oratè 1: Oke, isit la nou yo, P dènye seri a nan CS50.
Felisite nou soti nan gen vin twò lwen depi premye alo ou
mond ak enprime soti piramid pou Mario.
Ou te fè yon sit entènèt semèn pase a.
Apre sa, nou pral yo dwe fè yon lòt semèn sa a, yon sèl ki pèmèt ou
kondwi otou kanpis la Harvard, davwa moute anplwaye CS50, ak
pote yo tounen nan yo kay rezidansyèl yo.
>> Koulye a, semèn pase a nou te travay nan PHP, yon sèvè lang bò.
Pou P sa a seri, nou resevwa prezante JavaScript, ki se yon
kliyan lang bò.
Se konsa, kite a pran yon gade nan kèk nan la Kòd distribisyon ki nan bay
ou pou P sa a seri egzèsis la.
>> Nan dosye a JavaScript, pral gen yon pakèt moun sou JavaScript dosye.
Genyen buildings.js, ki gen yon etalaj nan bilding nan Harvard
lakou lekòl la, ak enfòmasyon yo ak pozisyon.
Houses.js se yon etalaj de Harvard kay rezidansyèl, ak yo
latitid ak lonjitud.
Passengers.js gen yon etalaj de pasaje -
anplwaye lekòl ki CS50 -
ki ou pral pote tounen nan kay rezidansyèl yo.
>> Math3D.js, ki gen yon anpil nan fonksyon fè ak mouvman an.
Si w ap matematik vle, Lè sa a, mwen akeyi ou pran yon gade.
Men, ou pa bezwen konprann tout bagay nan la.
Shuttle.js, ki boule ak mouvman navèt la.
Apre sa, index.html se paj la kay kote tout bagay sa yo rive, reyèlman, kote la
itilizatè ki kominike avèk sit la.
>> Service.css se fèy style CSS, ki, nan adisyon a Twitter a
Bibliyotèk demaraj, kontwole ki jan index.html sanble.
Lè sa a, nou menm tou nou gen service.js, ki gen fonksyon sèvis pou
navèt la.
Apre sa, Isit la nan kote w ap ale nan dwe ranpli nan kèk nan la dos.
>> Koulye a, kite a pran yon gade nan objè ak ranje asosyatif nan JavaScript,
ki pou tout entansyon ak objektif yo ka ranplase.
Si m 'te vle fè yon objè yon varyab rele yon ralonj, mwen ta
deklare li.
Ak andedan sa yo aparèy òtopedik Curly mwen ta presize nwayo a se goumen tankou towo mawon.
Bwa a se Cherry.
Apre sa, longè a se 13.
>> Koulye a, mwen kapab tou jwenn aksè nan valè nan objè lè l sèvi avèk
asosyatif notasyon etalaj.
Nwayo endèks Se konsa, ralonj, mwen ka mete ki egal a goumen tankou towo mawon, oswa
tcheke sa a, si m 'bezwen.
Oswa mwen kapab itilize operatè a dot.
Bwa ralonj dot egal Cherry, ak sou sa, ak pou fè.
Se konsa, ou wè ke ranje asosyatif ak objè ki nan JavaScript yo ale nan dwe
ranplase, epi li pral vini nan byen sou la men.
>> Lè sa a, nou wè yon etalaj nan bilding nan buildings.js.
Yon fwa ankò, yon etalaj de objè yo.
Si m 'te vle fè yon etalaj de pi bon an bilding sou lakou lekòl la Harvard, Lè sa a,
Mwen ta fè l 'jan sa a.
Lè l sèvi avèk notasyon sa a objè, kote Mwen sere rasin, non, adrès la,
latitid, ak lonjitid pou chak yon sèl bilding objè.
>> Se pou yo byen vit pale sou varyab nan JavaScript.
Menm jan ak PHP, JavaScript varyab yo chetif oswa blesi tape.
Pou kreye yon varyab lokal yo, ou prefiks non an varyab ak V-A-R la, var.
>> Koulye a, nan JavaScript, fonksyon pral limite sijè ki abòde lan varyab.
Se konsa, si ou gen yon varyab lokal ki nan yon fonksyon, lè sa a lòt fonksyon
pa ka jwenn aksè li.
Men, kontrèman ak C, pasan ak kondisyon pa fè sa limite sijè ki abòde lan yon varyab.
>> Se konsa, menm si ou deklare li andedan nan yon kondisyon, fonksyon an antye ap
gen aksè a li.
Koulye a, san yo pa var, varyab la yo pral mondyal la.
Se konsa, si ou jis deklare non ak bay yon valè, Lè sa a, varyab sa a
pral gen yon varyab mondyal nan JavaScript.
>> Koulye a, nan kay, nou gen yon asosyatif etalaj de objè di ki kalite kay, kote
chak kay se jis yon latitid ak yon lonjitid.
Lè sa a, nou gen pasaje yo etalaj, ki se yon etalaj
nan kalite objè pasaje.
Se konsa, chak pasaje yo gen yon non itilizatè, yon non, ak yon kay.
Remake mwen wè nan kalite pasaje yo, ki reyèlman jis vle di
ke chak objè gen nan menm valè kle pè.
Se konsa, chak objè nan kalite pasaje yo gen yon non itilizatè, yon non, ak yon kay.
>> Se konsa, sa nou bezwen fè pou P seri a?
Oke, nou bezwen pèmèt itilizatè yo chwazi moute manm pèsonèl la, yo montre tout
anplwaye lekòl ki ki kounye a nan navèt nou an, epi lage yo ale.
Lè sa a, nou pral tou pale sou siplemantè karakteristik ki kapab aplike pou
navèt P gwoup la.
>> Men, se pou nou pale sou pickup an premye.
Ap fè fas yo nan anplwaye CS50 yo te plante tout lòt peyi sou lakou lekòl la, kote chak
se figi aplike kòm yon mak kote sou tè a 3D, epi kòm yon
makè sou kat jeyografik la 2D.
Se konsa, lè itilizatè a klik pickup la bouton, nou vle ajoute ki tou pre
pasaje yo navèt la.
Apre sa, nou menm tou nou vle retire plas yo make soti nan mond lan, epi retire yo
makè nan kat la, ki endike ke yo ap nan navèt nou an kounye a.
>> Se konsa, ki jan nou detekte si pasaje se nan ran de navèt nou an?
Oke, distans la fonksyon -
Se konsa, navèt dot distans, pase nan latitid ak lonjitid, yo pral
kalkile distans la soti nan aktyèl la pozisyon nan navèt la a
pwen ke ou presize ak ki bay latitid ak lonjitid.
Se konsa, ou ka itilize sa a kalkile nan Distans soti nan navèt la a
pasaje.
>> Men, ki jan ou konnen ki kote pasaje yo yo ye?
Oke, sa a, se kote nou pral gen modifye fonksyon an alimenté.
Peple kote tout nan manm yo anplwaye ak pasaje yo nan mond lan,
ak nan kat jeyografik la, men li pa magazen kote yo.
Se konsa, petèt ou ka magazen yo mete mak ak makè
nan kèk etalaj mondyal la.
>> Koulye a, gen deja se yon etalaj mondyal estoke enfòmasyon ki soti nan pasaje.
Boutik sa yo pasaje etalaj chak Non pasaje a ak kay yo.
Se konsa, petèt ou ka ajoute yon paramèt kèk gen yo objè yo pasaje.
>> Pou ede nou detekte tout pasaje yo nan ranje nan navèt nou an, se pou yo
bouk nan tout nan pasaje yo nan etalaj la pasaje.
A pou bouk nan JavaScript ta ka gade yon bagay tankou sa a, sanble anpil ak
sa yo pou bouk nan C. oubyen nou ka sèvi ak yon altènatif pou estrikti bouk.
>> Pou var mwen an pozisyon, kote mwen ap toujou gen endèks la.
Men, ou pa bezwen presize longè a etalaj dot
kondisyon, e mwen plis plis.
Kote chak pasaje a se yo bay nan mak plas yo.
>> Men, make la kote se pa nan latitid ak lonjitid la.
Nou gen jwenn aksè nan paramèt sa yo pa ap resevwa jeyometri a, lè l sèvi avèk Pran
Jewometri sou make la kote.
Lè sa a, yon fwa nou gen jeyometri a, ap resevwa swa latitid la oswa nan
lonjitid, lè l sèvi avèk fonksyon sa yo.
>> Se konsa, kounye a nou konnen ki jan yo detekte si wi ou non pasaje yo nan lespas
ran de navèt nou an.
Yon fwa nou gen moun ki pasaje, nou pral vle ajoute nenpòt ki pasaje ki
nan ki pòte.
Nou vle pou pèmèt yo hop sou li a, ak pran yon chèz sou navèt nou an, men se sèlman
si nou gen ase plas pou yo.
>> Etalaj la plas navèt dot pral endike si plas yo vid, oswa
ki moun ki la nan ke chèz.
Se konsa, si yon plas vid, Lè sa a, ki chèz pral nil.
Se konsa, repňte sou etalaj la plas, tcheke pou plas vid, sere
pasaje nan sa yo chèz jiskaske ou pa gen okenn plas plis vid.
Apre sa, malerezman, nenpòt ki lòt pasaje ap gen pou ret tann pou la
pwochen fwa navèt la vini alantou.
>> Yon fwa yo jwenn sou navèt la, nou pral vle yo retire mak plas yo, ki
se foto yo nan mond lan 3D.
Si mwen te vle retire yon kote ki make p, Lè sa a, mwen ta jwenn tout nan karakteristik yo ki
soti nan tè m 'yo, soti sou latè, Google, ak Lè sa a, retire kote sa a espesifik
make lè l sèvi avèk fonksyon an removeChild.
Lè sa a, Finalman, se pou yo retire makè a, Meksiko an sou kat jeyografik la 2d pou nenpòt ki
pasaje yo ke nou ap davwa ke yo pran.
Pou retire yon makè, m, Lè sa a, mwen pral jis egzekite m dot setMap nil.
Fè sa pou nenpòt ki pasaje nan ranje, ak ou te fini pickup.