[MUZIKO Ludante] DAVID J. Malan: Saluton. Ni promenas tra Problemo Serio 8 Mashup, kiu tuj defias vin al desegni sur elementoj por Google Maps kun elementoj de Google News kaj piston ilin amase en retejo apleto ke permesas al uzanto serĉi mapon por novaĵo loka al specifaj urbetoj, urboj, kaj poŝtkodoj. Por fari tion, ni tuj integri iuj HTML, CSS, PHP, SQL, JavaScript kaj tekniko ĝenerale konata kiel AJAX por krei ĉi mergan uzanto sperto. Ni unue por Google Maps mem. Tiu, kompreneble, estas eble familiara interfaco. Sed rezultu ke Google Maps ankaŭ provizas API-- apliko Programado interface-- tra kio vi povas preni elementojn de Google Maps kaj integri ilin en viajn proprajn aplikojn. Ja, laŭlonge de ĉi tiu procezo, vi tuj trovi paron de adresoj aparte helpema ke estas menciitaj en la especificación por Problemo Ara 8 specife ĉi ekuzi Gvidi aŭ la Developer Gvidilo por Google Maps API Versio 3 tiel kiel la Google Maps JavaScript API v3 referenco, kio estas iom pli arcano legi sed fakte havas ĉiujn de la malsupra nivelo detaloj pri kio funkcioj aŭ metodoj kaj objektoj kaj posedaĵoj kaj eventoj efektive venis kun la API, tre simila en spirito al [inaudible] paĝoj. Nun se ni tuj iri Google News, vi eble vidi familiara interfaco tie. Sed rezultu vi povas ankaŭ serĉi Google News por specifaj geografioj tra HTTP parametro nomita geo. Fakte, se mi zomi ĝis ĉi tie, vi vidos ke Mi estas ĉe news.google.com/news/section?geo=02138. Kaj efektive, se mi zomi el, vi vidos ke mi estas rigardas paĝo kun tuta aro da esprimas pri Kembriĝo, Masaĉuseco. Dume, se mi vere ŝanĝos la URL ne esti poŝtkodo ŝatas ĉi, sed iu iom Messier kiel Cambridge, + Masaĉuseco, kie la alpago estas la vojo vi kodi oni spaceto en URL kaj batis Enter, vi vidos ke mi reale vidi preskaŭ la saman novaĵon. Eble ĝi estas iomete malsama ĉar Kembriĝo reale havas multnombraj poŝtkodoj. Nun kiel mi scias tion kaj, fakte, kiel mi povus iel ligi urboj kaj vilaĝoj al poŝtkodoj en kazo mi volas permesi al la uzanto suprenrigardi ĉu? Nu, ĝi rezultas ke tie estas afiŝinto tie nomas geonames.org kiu estas iniciato havi libere havebla datumbazo de ĉiuj specoj de geografiaj informoj, ne nur por Usono, sed ankaŭ por aliaj landoj ankaŭ. Fakte, se mi iras al ĉi URL tie, kiu ankaŭ estas menciita en la problemo aro especificación, vi vidos ŝin tri Printita de tuta fasko da ZIP dosierojn iu el kiu povas esti elŝutita de vi. Fakte, por tiu problemo aro vi tuj elŝuti us.zip. Nun ene de la dosiero, estas tuta faskon da datumoj en teksto formato. La dosieroj estas tre simila al CSV-- Komo Disigita Valoroj file-- sed efektive uzas pestañas por Demarco kampoj. Nun, dume, se vi rigardas tie en kio mi reliefigis, la kampoj en la dosiero iras esti aĵoj kiel lando kodojn, bildkarto kodoj, loknomoj, kaj tiam, en iu formo aŭ alia, statoj kaj graflandoj, komunumoj, kaj pli. Fakte, mi jam elŝutita dosiero anticipe. Lasu min kaj malfermu ĝin here-- us.text-- kaj, fakte, vi vidu se mi rulumu malsupren al linio 16.792 vi vidos kelkajn rekordojn por Kembriĝo, Masaĉuseco kaj ĝiaj diversaj poŝtkodoj. Kion vi vidas ankaŭ tie estas la graflando, iuj numeroj, kiujn mi faras ne vere kompreni, sed ankaŭ ĉiuj la vojo dekstre, iuj GPS coordinates-- latitudo kaj longitudo. Tiu estas granda ĉar unu el la karakterizaĵoj de Google Maps API estas la kapablo trovi kie vi estas geografie en terminoj de GPS koordinatoj. Nun ni komencos elkompreni kiel komenci ligi tion kune. Ni donis al vi tutajn faskon de dissendo kodo, tiel kiel MySQL datenbazo. Fakte, se mi elŝiri phpMyAdmin havante Jam importitaj, kiel vi baldaŭ faros, pset8.SQL, vi vidos MySQL tablo kiu aspektas kiel ĉi tiu, ID kampo, lando kodo, poŝtkodo, loko nomon kaj pli. La tipoj de ĉiu el tiuj kolumnoj Mi derivita simple legante la readme.text file tie ke specifita ĉu kampo estas entjero, aŭ varchar aŭ similaj. Do ni kreis tiun tablon por vi kaj donis al vi la SQL komandojn ekzekuti krei ke tablo en via propra datumbazo, sed estas vere neniu datumo en ĝi ankoraŭ. Pli ĝuste, vi estas iranta devi elŝuti us.zip aŭ ajna lando zip dosiero de tiu URL tie. Kaj tiam vi tuj devas skribi unu komandlinio skripto en PHP tio tuj malfermi tiu teksto fajliloj, persisti super liaj linioj, kaj tiam por ĉiu el tiuj linioj fari insert en kiu metas tablo en via MySQL datenbazo. Do fine de tiu procezo, Vi forkurigas ke skripto finfine nur unufoje en teorio. En realo vi probable kuri lin faskon da fojoj samtempe provas ripari diversaj cimoj. Finfine, vi estas iranta havi vere grandan datumbazon kun miloj kaj miloj de geografia vicoj. Tiam vi estas iranta meti tiun importado skripto flanken iam ĝi laboras kaj via datumbazo estas bela kaj ĝentila, kaj tiam vi tuj pluiri al reale realiganta la mashup mem. La mashup tuj serĉos iom io tiamaniere. Je mashup.cs50.net, ni havi personaro solvo ke aspektas iom io tiamaniere. Ja, se mi alklaku ĉi ĵurnalo ikono por Kembriĝo, Masaĉuseco, vi vidos ŝpinita Ikono mallonge kaj poste ordigita listo, oni bula listo de artikoloj rilataj al Kembriĝo, Masaĉuseco. Se mi alklaku Charlestown, Masaĉuseco, Mi vidos la sama por tiu urbo. Kaj Se mi alklaku Watertown, Massachusetts, tie eble ne ajnan novaĵoj de el Watertown, tial vi vidos ion kiel malrapida novaĵoj tago. Nun, dume, ĉe supre maldekstre estas iu familiara Google Maps kontroloj lasi vin malzomi, pato supren, malsupren, forlasis, kaj dekstra, sed ankaŭ Serĉilo kiu ni metas tie. Do se mi serĉu, sincere, la sola alia poŝtkodo mi scios, 90210, ni fakte vidos Beverly Hills, Kalifornio. Kiam klakis ĝi kondukas min al Kalifornio kaj tuta aro da novaĵoj pri Beverly Hills. Nun rimarki, ankaŭ, kion okazis tie. Se mi ĉi tempo serĉo por 02138 aŭ eĉ Kembriĝo komo Masaĉuseco aŭ iuj Varianto gxiajn vi ricevas iom autocompletar menuo. Nun tiu estas uzanta plugin por biblioteko nomita jQuery, kaj ke kromprogramon nomata typeahead. Ni simple tralegu la dokumentado, elŝutita la .js-aj file integrita en la dissendo kodo por ke vi finfine povas skribi la kodon kiu plenigas tiu menuo menuo kun la aŭtomata selektadojn aŭ la auto sugestojn. Nun la distribuo kodo, kvankam, ke vi ricevis ne faras preskaŭ tiel. Vi akiras la Google Mapo enigita, kaj vi havos la kontroloj la supro lasis, kaj vi ricevos la Serĉilo. Sed se mi tajpas ion kiel 02138, mankas lokoj troviĝas ankoraŭ. Por ke tuj estos unu el niaj celoj ĉi tie. Cetere, se vi paŝon reen kaj rigardi la mapo mem, ne estas novaĵo kiun ajn. Eĉ se mi klakas kaj trenas, neniu markiloj reale aperas por novaĵo ĉar tiu defio estas lasita por vi ankaŭ. Ni rigardu do ĉe la dissendo kodo. Kiam vi elŝutis pset8.zip kaj Unzipped ĝi En viajn vhost dosierujo en la CS50 Appliance, vi vidos tiujn adreslibroj tie ene. Bin-- kio ĝenerale signifas duuma por ruleblan programs-- inkluzivas, kiel en pset7, iuj PHP dosierojn kiuj aliaj dosieroj inkludas, tiam publiko, kiu estas la dosierojn kiuj bezonas esti publike alirebla al uzanto per retumilo. Ni rigardu en la bin dosierujon, kaj ni vidas ke estas dosiero tie jam nomita Importi. Se ni malfermas ĉi kun gedit, ni vidos kiu, bedaŭrinde, ne estas multe tie. Ĉiuj kiu estas tie, kvankam, Estas shebang ĉe supro kiu precizigas kion interpreter-- en tiu kazo PHP-- uziĝu por fakte ekzekuti ĉi tiu dosiero. Sed tiam kie diras TODO estas kie vi estas tuj bezonos skribi iun kodon kiu probable postulas la agord dosiero kiu estas en la inkludas dosierujon kiel ni faris antaŭe kun PHP dosierojn. Kaj tiam vi tuj devas iel malfermi us.text kiun vi supozeble esti Unzipped jam. Tiam vi estas iranta devi persisti super la liniojn en tiu dosiero, eble uzante kelkajn el la funkcioj sugestis en la specifo. Tiam enigi ĉiu el tiuj linioj en MySQL datenbazo uzante la konsulto funkcio, kiun ni denove havigis vi with-- aŭ almenaŭ varianto Sur functions.php, kiun ni vidos en nur momento. Nun ni fermos importado kaj reiri al nia dosierujo kaj tiu tempo eniru en inkluzivas. Kaj se mi faras ls tie, vi vidos tri dosierojn ŝatas sufiĉe Problemo Ara 7. Kaj ni prenu rapidan rigardon, ekzemple, ĉe config.php. En tie, estas malpli linioj ol antaŭe, kaj tio ŝajnas tiu dosiero inkludas constants.php kaj functions.php. Ni uzas iomete malsamajn tekniko ĉifoje al reale specifi tiuj dosieroj relativa al la aktuala dosierujo __ DIR__ reprezentas ajn dosierujo ĉi dosiero, config.php, estas mem en. Do ĉi tiu estas pli eksplicita vojo de preciziganta kion aliaj dosieroj vi volas postuli. Nun se mi fermos ĉi dosieron kaj malfermi constants.php anstataŭe vi vidos dosiero tre rememorado al Problemo Serio 7 estas tiel, kvankam kun malsama datenbazo nomita pset8. Fine, en functions.php, ni vidos nur unu funkcio tiu tempo nomita mendo. Tio estas preskaŭ la sama krom ni manipuli eraroj ĉifoje iomete malsame, sed estas uzado estas la sama kiel en problemo starigis sep. Nun ni reiru en nian pset8 dosierujo, iru en publiko, kaj en tie se mi faras ls, vi vidos this-- articles.php, index.html, search.php, kaj update.php-- ĉiuj dosieroj. Kaj tiam la css tiparoj, img, kaj js dosierujo ŝatas sufiĉe pset7. Ni rigardu index.html, kio estas tuj estos vere la enirpunkto al la smashup. Nun en index.html, vi vidos tutan faskon de ligilo elementoj en la kapo, specife, por bootstrap por nia propra CSS sekvita de amaso de skripto etikedoj por aĵoj kiel la mapoj, API mem, speciala markilo kun stampo utileco kiun ni menciis en la specifo estas disponebla al vi, jQuery mem, bootstrap mem, kaj alia biblioteko nomata substreko kiu ni raportas en la specifon. Underscore.js kiel jquery.js estas JavaScript biblioteko kiu havas tutan faskon da funcionalidad ke multaj homoj en la mondo deziro ekzistis en JavaScript mem. Do ĉiuj el tiuj estas fakte sufiĉe popularaj. Ni ankaŭ menciis typeahead kiu estas la biblioteko kiun faras ke autocompletar menuo kaj fine ligon al nia propra Javascript. Dume, kaj eble Bonŝance tiu mashup Estas antaŭenpuŝita de relative malmulte HTML ĉi tie ĉe la malsupro. Rimarku ke ni tajpis div en nia korpo de klaso-ujo fluida. Tiu, po bootstrap La dokumentado, ĝuste signifas ke ĉi div tuj plenigos la vidujo aŭ la retumilo fenestro plene. Dume, sub tiu ni havas div ke'S malfermiĝis kaj tuj fermis kun la unika ID de mapo kanvaso. Tiu nun estas de Google Mapoj dokumentado por lia API, per Mi simple bezonas havas malplenan div en kiun enmiksas, finfine, reala Google Maps. Sed pli sur tiu en nur iom. Fine, ekzistas formo ene de ĉi tie kiuj implementa la tekstujo supren supro lasita en nia interfaco por serĉado. Rimarku ke ni uzis iom de bootstrap tie too-- aĵojn kiel formo-inline kaj formo-grupo. Ni donis la eksa unika ID de formo. Kaj tiam, finfine, mi efektive havas enigaĵoj tipo, kiuj estas sufiĉe konataj, kies ID estas q. Nur konvencio. Q query-- povus havi vokitaj nenion. Kaj tiam la lokokupilo, dume, estas urbo, ŝtato, kaj poŝtkodo kion vi eble memoras vidante en nia mashup demo antaŭe. Ni fermas ĉi tiun dosieron. Nun rigardu la PHP dosierojn atendi kaj poste la JavaScript dosierojn. En nia PHP dosierojn, ni jam implementado por vi, ekzemple, ĝisdatigoj. Update.php-- ni ne elspezi grandegan kvanto de tempo sur here-- en malmultaj vortoj estas la dosiero kiun nia JavaScript kodon tuj kontakti tra AJAX ke nesinkrona tekniko tio konstruita en JavaScript tiuj tagoj tio tuj permesos nin al demandi update.php por pliaj informoj. Specife, ĉiutempe la uzanto trenas la mapo aŭ realigas serĉon kiu saltas la uzanto al alia ubicación, nia kodo JavaScript, kiel ni baldaŭ vidos, estas tuj nomos update.php kaj peti 10 aŭ tiel markiloj ene la vidujo bazita sur la GPS koordinatoj de la supro kaj malsupro anguloj de tiu mapo. Ni povas tiam repoblar la mapo nun ke la uzanto movis la ekrano en celo vidi 10 probable nova markiloj por malsamaj vilaĝoj. Dume, tiu dosiero estas finfine tuj ekzekuti SQL query kontraŭ nia datumbazo tablo nomitaj lokoj kiuj tuj revenos tiuj 10 aŭ malpli lokojn. Dume, en articles.php, estas alia file ni skribita en lia totalo. Ĝi estas tre simila en spirito al Problemo Serio 7 La lookup funkcio, kiuj kontaktis Yahoo Financoj por vi. Ĉi tiu dosiero kontaktoj Google Novaĵoj por vi, finfine kaptante maŝino-legebla version-- ion nomita RSS format-- de la novaĵo por Kembriĝo aŭ Beverly Hills aŭ kion ajn urbon vi serĉis por funkcio de tiu geoparameter. Ni analizi kiujn RSS, kiuj estas nur tipo de markado lingvo XML nomita, kaj tiam ni efektive redoni ĝin al via retumilo kaj al via kodo JavaScript, specife, en formato nomita JSON, JavaScript Objekto Skribmaniero. Nun vi vidos en la specification-- Ni atentigas vin ĉe kiom vi povas fakte vidi iuj de la JSON venonta back-- ke tiu funcionalidad finfine konsistas el popoli tiuj popup menuoj tiel ke kiam vi klakas sur markilo en la mapo vi fakte vidi tutan faskon de kugloj, el kiuj ĉiu ligilojn al artikolo. Nun ni rigardu unu lasta PHP dosiero kiu, feliĉe, ne havas multe irante on-- nur iom granda TODO. Ĝuste nun tiu dosiero deklaras tabelo nomitaj lokoj. Kaj tiam finfine prints ke tabelo en JSON format-- bela-videbligi ĝin ĝuste por ke aferoj estas pli facilaj por elpurigi. Bedaŭrinde, en la mezo estas ĉi TODO, kiu petas vin esplori la datumbazo por lokoj kiuj kongruas al geo HTTP parametro. Kaj ĝuste tiu tuj esti unu el viaj challenges-- implementar ĉi tiu funcionalidad tie por ke kiam vi kontakti tiun dosieron per URL kiel serĉo. php? geo = io, via kodo finfine resendas JSON tabelo de ĉiuj de la lokoj en via datumbaza tabelo kiuj kongruas ke enigo. Do se la uzanto tipoj en Cambridge, vian dosieron tie search.php devus finfine resendas JSON tabelo por ĉiu de la partioj por Kembriĝo, kiu povu esti en Masaĉuseco sed povus esti eĉ aliloke. Laste, ni rigardu du dosierojn, kiuj estas statikaj ultimately-- vian CSS-dosieron kaj via JavaScript dosiero. Se mi iras al nia CSS dosierujon, tie estas amaso de dosierojn tie, sed plejparte ili estas bibliotekoj. Mi iras por preni rigardon, specife, en styles.css, kiu estas nia propra tutmonda CSS tio tuj stylize tiu tuta mashup. Mi lasos ĝin al vi legi tra la komentojn ene difinitaj, sed, en malmultaj vortoj, tiu estas la CSS ke certigu ke niaj mashup, implicite el la skatolo, aspektas precize la vojon ni volas it-- kun la mapo plenigante la vido havenon kaj kun la serĉo bukso supren supre maldekstre. Ni ankaŭ prenis la liberecon de stylizing ke typeahead menuo menuo iomete tiel. La plej grava dosiero eble por tiu problemo aro Estas ĉi tiu lasta, scripts.js. Ene de via js dosierujo estas eĉ pli dosierojn. Ĉiuj ili estas biblioteko dosierojn krom ĉi tiu, scripts.js. Se ni malfermas ĉi supre, ni prenos nian lasta ĝiras tra la funkcioj kiuj estas konstruitaj en ĉi dosiero por vi kaj atentigi al la todos kiuj kuŝas antaŭe. Ĉe la supro de ĉi tiu dosiero: Estas tri tutmondaj variabloj. Unu por mapo, kiu tuj esti referenco al nia Google mapo. Vi povas pensi pri tio ia kiel puntero. Dume, ni havas alia malloka variablo nomata info, kiu aperas kiel stokante la reveno valoro de alvoko por nova google.maps.InfoWindow. Ĝavoskripto subtenas celojn kiuj estas tre simila en spirito al Struts. Kaj kio estas tiu linio por niaj celoj estas faranta kreas novan info fenestro en memoro kaj tiam konservante ĉirkaŭ referenco vivan en variablo nomata Informoj. Kaj en inter tiuj, dume, estas kio aperas esti malplena Ĝavoskripto tabelo nomis markiloj. Ĉiuj el tiuj ĵurnalo ikonojn, aŭ vi povus elekti alian piktogramon en aro, tuj estos stokitaj fine en ĉi tabelo tiel ke ni povas tre facile aldoni al la mapo kaj forigi ilin de la mapo. Nun ni rulumu malsupren iomete kaj Whiz tra la kodo ke tuj estos ekzekutita kiam la DOM aŭ dokumenton objekto modelo aŭ la paĝo mem estas preta. Memoru ke ĉi tiu sintakso tie simple precizigas ke la sekva kodo estu ekzekutita nur kiam la retumilo finis ŝargado ĉio alia. Ni unue deklari amaso de stiloj, kiu finos stylizing la mapo kiel po la specifon. Ni tiam deklari tuta aro da ebloj, kio ankaŭ agordi la Google mapo kiun ni estas al embed. Ni do uzas iom de jQuery kodo, kiu estas klarigita en iom pli detale en la specifon, ekpreni ke elemento, mapo-kanvaso ke ni tiel unike identigitaj. Kaj tiam ĉi tiu linio tie estas kio ŝajnas magie transdoni nin Google mapo ene de nia propra apliko, stokante referenco arangxajxo en tiu variablo nomata mapo. Fine, jen ni registru kio nomiĝas aŭskultanto. Pensu back-- maniero, modo back-- al semajno nulo en CS50 kiam ni rigardis Scratch kaj lia apogo tra promeni tra por aĵoj nomitaj eventoj kaj elsendojn. Vi eble ne uzis ĝin mem, sed estas mekanismon per kiu oni retumilo en tiu kazo povas akiri nian atenton kiam ĝi estas pretas reale ekzekuti iuj kodo. En tiu kazo, ĝi estas tuj aŭskultos al la mapo por evento nomita sencela. Tio signifas ke la navegador havas finita ŝarĝante la Google mapo. Ĉe tiu punkto funkcio nomita configure devus finfine esti ekzekutita. Domadministranto, agordi, ni vidos, estas skribita por ni. Nun ĉi tie estas funkcio ke, bedaŭrinde, estas nur TODO add markilo. Per la specifo. Vi tuj bezonas skribi la kodon kiu vere Aldonas marker-- ĉu ĝi aspektas kiel ĵurnalo, aŭ dikfingro Tack, aŭ io else-- al la Google mapo. Ĉi tie nun estas ke funkcio nomata configure. Mi lasos ĝin al vi legi tra ĉi pli detale, sed rimarkas ke ni aldonu faskon pli Aŭskultantoj tiel ke ni povas ekzekuti kodo kiam la uzanto klakas sur kaj trenu la mapo. Ni ankaŭ havas kodon en ĉi tie, ke inicializa ke typeahead kromaĵo por ke la menuo menuo efektive funkcias. Sed ni enfokusigi nur kelkaj lokoj ene difinitaj. Specife, ĉi fari ĉi tie. Mi cedu al la reta dokumentado kaj la specifo por kiel plenigi ĉi TODO. Sed en malmultaj vortoj, ĉi biblioteko typeahead permesas pasi en kio ĝenerale konata kiel ŝablono, kiu havas iujn variablo anstataŭiloj tre simila en spirito al printf la%. * s. Sed en ĉi tiu kazo, la ŝablono por la spec permesas vin specifi kio variablojn vi volas injekti de datumoj kiu estas veni reprenos iu kiel PHP dosierojn kiujn vi skribis kiuj elsendas JSON eligo. Nun malsupren tie rimarkos ke ni estas aŭskultante por typeahead selektadoj kiam la uzanto reale efektivigas Serĉo kaj selektas valoro. Jen kiel ni estas reale tuj aŭskultos por ke kaj ekzekuti iun kodon kiel rezulto. Tiam ni daŭre agordi la mashup malmulta. Kaj, fine, ni nomas tiu funkcio ĝisdatigo. Ĝi ĝisdatigas la markiloj sur la ekrano. Pli sur tiu en nur momento. Dume, ke estas kelkaj malgrandaj funkcioj en ĉi tie. Unu el kiuj estas hideInfo kiu simple fermas la InfoWindow. Alia funkcio ĉi tie, kiu fine ne estos tro longa, forigu markiloj. Tio tuj malfari ajn via add markilo funkcio faras. Kaj poste malsupren tie estas serĉo. Kaj ĉi tiu estas interesa ĉar ni skribis la kodo JavaScript tio tuj parolos al search.php sur la servilo kaj reiri kelkaj respondo. Vi, kompreneble, ankoraŭ bezonas implementar search.php, sed ni implementado la JavaScript kodon tio tuj manipuli fakte agante serĉoj de tiu teksto skatolo. En aparta, avizo ke tiu funkcio ĉi tie, serĉo, ĝi nomas search.php per metodo nomata akiri JSON, kiun ni vidis en prelego. Kaj la sintakso tie estas iom malsama el prelego en kiuj ni uzas jQuery tn promeso interfaco. Pli sur tiu en la specifon. Ĉi simple signifas por nia intencoj nun ke ekzistas Estas du specialaj funkcioj ni bezonas nomi kun skalara skribmaniero tie tuj post nomante akiri JSON. Unu nomiĝas farite. Unu nomiĝas malsukcesos. Vi povas pensi pri ĉi tiuj kiel la sukceso traktilo kaj la fiasko traktilo simple en kazo iu eliras malbone. Nun ni rigardu la lastan kelkaj funkcioj en ĉi tiu dosiero. Malsupren tie estas funkcio nomata showInfo, kiu montras info en unu el tiuj iom info fenestroj kiuj Popoj supren kiam la uzanto klakas markilo. Malsupren tie plui estas ke ĝisdatigo funkcio ke ni estas implementado por vi. Ĝi determinas la limojn de la mapo. Kio estas la GPS koordinatoj de lia nordorienta kaj sudokcidenta anguloj tie. Ni preparis kelkajn HDP parametroj tie kaj tiam preterpasis ilin finfine al update.php, kiun ni ankaŭ implementado por vi. Tio finfine ricevas reen iuj JSON de la dosiero nomata update.php kaj tiam forigas ajnan markiloj sur la ekrano kaj tiam ripetas super la datumoj kiujn la veni reen el update.php, kiu denove estas nur JSON tabelo. Kaj tiam finfine aldonas markilo por ĉiu de tiuj lokoj, manipulante fiasko aŭ eraroj kiuj povus tre bone okazi. Nun ĝuste doni al vi guston de kiel vi povus iri pri elpurigante ĉi tiu projekto, rimarkas ke mi malfermis en antaŭi ĉi langeto tie al ĉi URL, pset8 / articles.php? geo = 02138. Nun, denove, artikoloj pri PHP ni implementado por vi tiel ĉi tio ne estas tiel kio vi estos uzanta al elpurigi, sed prefere la tekniko. Avizo ke mi serĉis Cambridge poŝtkodo tie, kaj mi alvenas reen, efektive, JSON tabelo de JSON celoj ene de kiu Estas du keys-- ligilon kaj titolon. Do tiu funcionalidad laboras jam por vi. Sed tiu tekniko de permane irante al URL ŝatas ĉi por iu kiel search.php? geo = Cambridge aŭ 02138 aŭ ajn la uzanto tajpita en devus pruvi valoregaj kiel vi, mem provi elkompreni ĝuste ĉu aŭ kial search.php laboras aŭ ne. Fine do, vi havas kelkaj todos antaŭ vi. Vi tuj unuaj Implementa ke importado skripto kiu legas en us.text en vian datumbazon. Vi tiam tuj bezonos implementar search.php tiel ke ĝi kondutas precize kiel specifis. Vi tiam tuj volas enfokusigi sur scripts.js kaj finfine implementan tiuj paro de todos, inkludante por configure kaj ke ŝablono, aldoni markilojn, forigu markiloj, kaj tiam daŭri, sed ne laste, unu persona tuŝo. Unufoje vi havas viajn mashup laborista tute kiel la nia, la golo en mano estas por vi aldoni personan tuŝi al via mashup, ĉu ĝi estas estetikaj aŭ funkciaj. Prenu la mashup iam tiel iomete al la sekva nivelo. Tiel longe kiel vi pelas vin preter vian konatecon kun la specifo mem kaj repreni unu tekniko novan eĉ se ĝi estas nur io estetika kiel ŝanĝanta la aranĝo de la mapo kiu vi uzas, la medio kiun ni atendas estos kontentigita. Tio do estas Problemo Ara 8 Mashup. Sekvu por pli en la especificación kaj bonŝancon pritrakti tion, via lasta CS50 problemo starigis eterne. [MUZIKO Ludante]