1 00:00:00,000 --> 00:00:03,388 >> [Гуляе музыка] 2 00:00:03,388 --> 00:00:09,196 3 00:00:09,196 --> 00:00:10,180 >> Дэвід Дж Малання: Прывітанне. 4 00:00:10,180 --> 00:00:12,600 Давайце прагуляемся па Праблема Set 8 Mashup, 5 00:00:12,600 --> 00:00:15,880 які збіраецца кінуць вам выклік у абапірацца на элементы для Google Maps 6 00:00:15,880 --> 00:00:20,905 з элементамі з Google News і пюрэ іх разам у вэб-аплет, які 7 00:00:20,905 --> 00:00:24,150 дазваляе карыстальніку шукаць Карта навін мясцовага 8 00:00:24,150 --> 00:00:26,780 да канкрэтных гарадах, гарадоў і паштовыя індэксы. 9 00:00:26,780 --> 00:00:31,040 Каб зрабіць гэта, мы збіраемся інтэграваць некаторыя HTML, CSS, PHP, SQL, 10 00:00:31,040 --> 00:00:34,390 Наяўнасць і тэхніка як правіла, вядомыя як AJAX ў парадку 11 00:00:34,390 --> 00:00:36,850 стварыць гэты захапляльны карыстацкі досвед. 12 00:00:36,850 --> 00:00:38,920 >> Давайце спачатку для Google Maps самастойна. 13 00:00:38,920 --> 00:00:41,220 Гэта, вядома, магчыма, Знаёмы інтэрфейс. 14 00:00:41,220 --> 00:00:45,070 Але аказваецца, што Google Maps таксама забяспечвае прымяненне API-- 15 00:00:45,070 --> 00:00:48,360 праграмаванне interface--, праз які Вы можаце ўзяць элементы Google Maps 16 00:00:48,360 --> 00:00:50,740 і інтэграваць іх у Вашы ўласныя прыкладання. 17 00:00:50,740 --> 00:00:52,650 Сапраўды, на працягу ўсяго гэтага Працэс, які вы збіраецеся 18 00:00:52,650 --> 00:00:55,140 каб знайсці пару адрасоў асабліва карысна, што 19 00:00:55,140 --> 00:00:57,820 згадваюцца ў Спецыфікацыя для пастаўленай задачы 8, 20 00:00:57,820 --> 00:01:00,980 У прыватнасці, гэта Пачатак працы Ці Кіраўніцтва распрацоўніка 21 00:01:00,980 --> 00:01:07,640 Для Google Maps API версіі 3, а як API Google Maps JavaScript 22 00:01:07,640 --> 00:01:10,260 спасылка v3, які з'яўляецца трохі больш таямніцай для чытання 23 00:01:10,260 --> 00:01:14,600 але на самой справе мае ўсё больш нізкім узроўні Дэталі, якія функцыі або метады 24 00:01:14,600 --> 00:01:18,220 і аб'екты і ўласцівасці, і падзеі на самай справе прыходзяць з API, 25 00:01:18,220 --> 00:01:20,720 вельмі блізкія па духу на [неразборліва] старонак. 26 00:01:20,720 --> 00:01:23,480 >> Цяпер, калі мы зірнем ў навінах Google, вы будзеце 27 00:01:23,480 --> 00:01:25,370 магчыма, убачыць знаёмы інтэрфейс тут. 28 00:01:25,370 --> 00:01:29,350 Але, аказваецца, вы таксама можаце знайсці Google Навіны для канкрэтных геаграфічных рэгіёнах 29 00:01:29,350 --> 00:01:32,000 з дапамогай параметру HTTP пад назвай Geo. 30 00:01:32,000 --> 00:01:35,100 На самай справе, калі б я павялічыць тут, вы ўбачыце, што 31 00:01:35,100 --> 00:01:41,672 Я ў news.google.com/news/section?geo=02138. 32 00:01:41,672 --> 00:01:43,630 І, сапраўды, калі я павялічыць , Вы ўбачыце, што я 33 00:01:43,630 --> 00:01:47,090 гледзячы на ​​старонку з цэлай кучай думкі аб Кембрыджы, штат Масачусэтс. 34 00:01:47,090 --> 00:01:50,620 >> Між тым, калі я на самой справе змяніць URL ня быць паштовы індэкс, як гэта, 35 00:01:50,620 --> 00:01:55,580 але што-то трохі брудней як Кембрыдж, + Масачусэтс, 36 00:01:55,580 --> 00:02:00,740 дзе плюс спосаб кадзіраваць прабел ў URL і націсніце Enter, 37 00:02:00,740 --> 00:02:02,907 вы ўбачыце, што я на самой справе ўбачыць амаль тыя ж навіны. 38 00:02:02,907 --> 00:02:05,489 Можа быць, гэта крыху па-іншаму таму Cambridge самай справе 39 00:02:05,489 --> 00:02:06,910 мае некалькі кодаў ZIP. 40 00:02:06,910 --> 00:02:09,410 Цяпер, як я магу ведаць, што і, На самай справе, як я мог нейкім чынам 41 00:02:09,410 --> 00:02:12,940 звязаць гарадоў і населеных пунктаў Каб сціснуць кодаў у выпадку, калі я 42 00:02:12,940 --> 00:02:15,064 хачу, каб дазволіць карыстальніку каб паглядзець небудзь? 43 00:02:15,064 --> 00:02:17,480 Што ж, атрымліваецца, што ёсць сайт там называецца 44 00:02:17,480 --> 00:02:20,060 geonames.org што Ініцыятыва ёсць 45 00:02:20,060 --> 00:02:23,760 свабодна даступная база дадзеных усіх віды геаграфічнай інфармацыі, 46 00:02:23,760 --> 00:02:27,040 не толькі для ЗША, але і для іншых краін, а таксама. 47 00:02:27,040 --> 00:02:30,430 На самай справе, калі я іду да гэтага URL тут, што таксама згадваецца ў пастаўленай задачы 48 00:02:30,430 --> 00:02:34,510 спецыфікацыя, вы ўбачыце, што тры спіс цэлай кучай паштовыя файлы 49 00:02:34,510 --> 00:02:36,400 любы з якіх можа быць загружана вамі. 50 00:02:36,400 --> 00:02:39,900 На самай справе, для гэтай праблемы ўсталюйце Вы збіраецеся спампаваць us.zip. 51 00:02:39,900 --> 00:02:43,790 У цяперашні час у гэтым файле, з'яўляецца ў цэлым куча дадзеных у тэкставым фармаце. 52 00:02:43,790 --> 00:02:47,760 Файлы вельмі падобны на CSV-- з падзельнікамі-коскамі file-- 53 00:02:47,760 --> 00:02:51,294 але на самой справе выкарыстоўвае Ўкладкі для размежавання палёў. 54 00:02:51,294 --> 00:02:53,710 Цяпер, між тым, калі паглядзець тут на тое, што я вылучыў, 55 00:02:53,710 --> 00:02:56,459 поля ў гэтым файле адбываецца быць рэчы, як коды краін, 56 00:02:56,459 --> 00:02:58,980 паштовыя індэксы, геаграфічныя назвы, а затым, у нейкім выглядзе 57 00:02:58,980 --> 00:03:04,230 або іншыя, штатах і акругах, абшчыны, і многае іншае. 58 00:03:04,230 --> 00:03:06,630 На самай справе, я ўжо запампаваў гэты файл загадзя. 59 00:03:06,630 --> 00:03:09,750 Дазвольце мне ісці наперад і адкрыць яго here-- us.text-- і, па сутнасці, вы будзеце 60 00:03:09,750 --> 00:03:16,660 ўбачыць, калі я пракруціць ўніз, каб выраўнаваць 16792 Вы ўбачыце некалькі запісаў з Кембрыджы, 61 00:03:16,660 --> 00:03:19,120 Штат Масачусэтс, і яго розныя коды ZIP. 62 00:03:19,120 --> 00:03:22,150 Тое, што вы таксама бачыць, што ёсць акругі, некаторыя лічбы, якія я сапраўды не 63 00:03:22,150 --> 00:03:24,500 зразумець, але і ўсе спосаб справа, 64 00:03:24,500 --> 00:03:27,170 некаторыя GPS coordinates-- шырыня і даўжыня. 65 00:03:27,170 --> 00:03:30,440 Гэта выдатна, таму што адзін з асаблівасці Google Maps API 66 00:03:30,440 --> 00:03:33,670 з'яўляецца здольнасць выяўляць дзе вы знаходзіцеся тэрытарыяльна 67 00:03:33,670 --> 00:03:36,850 у тэрмінах каардынатаў GPS. 68 00:03:36,850 --> 00:03:40,210 >> Зараз давайце пачнем, каб высветліць, як пачаць звязваць гэтыя рэчы разам. 69 00:03:40,210 --> 00:03:42,900 Мы далі вам цэлы куча кода размеркавання, 70 00:03:42,900 --> 00:03:44,970 а таксама ў якасці базы дадзеных MySQL. 71 00:03:44,970 --> 00:03:49,100 На самай справе, калі я цягну PHPMYADMIN якія маюць ўжо імпартавалі, як вы хутка будзе, 72 00:03:49,100 --> 00:03:54,800 pset8.SQL, вы ўбачыце табліцу MySQL, што Падобна на тое, гэта, ID поле, краіна 73 00:03:54,800 --> 00:03:57,400 Код, паштовы індэкс, назва і многае іншае. 74 00:03:57,400 --> 00:04:00,490 Тыпы ўсіх тых, калоны Я проста выводзіцца 75 00:04:00,490 --> 00:04:03,870 чытаючы readme.text падаць тут паказана 76 00:04:03,870 --> 00:04:07,330 Ці поле ўяўляе сабой цэлае лік, або VARCHAR ці таму падобнае. 77 00:04:07,330 --> 00:04:10,510 >> Такім чынам, мы стварылі гэтую табліцу для Вы і даў вам каманды SQL 78 00:04:10,510 --> 00:04:12,770 выканаць, каб стварыць што стол у вашай ўласнай базе дадзеных, 79 00:04:12,770 --> 00:04:15,290 але няма на самай справе ніякіх дадзеных у ім яшчэ. 80 00:04:15,290 --> 00:04:19,600 Хутчэй за ўсё, вы будзеце мець, каб спампаваць us.zip або паштовы любой краіны 81 00:04:19,600 --> 00:04:21,500 файл з гэтай URL там. 82 00:04:21,500 --> 00:04:24,940 І тады вы будзеце мець, каб напісаць Сцэнар каманднага радка ў PHP гэта 83 00:04:24,940 --> 00:04:28,420 збіраецца адкрыць гэты тэкст падаць, перабраць яго лініі, 84 00:04:28,420 --> 00:04:31,180 а затым для кожнага з гэтыя радкі рабіць ўстаўкі 85 00:04:31,180 --> 00:04:34,940 у тым, што змяшчае табліцу у вашай базе дадзеных MySQL. 86 00:04:34,940 --> 00:04:37,880 Так, у канцы гэтага працэсу, вы будзеце сутыкнуліся гэты сцэнар у канчатковым рахунку, 87 00:04:37,880 --> 00:04:39,610 толькі адзін раз, у тэорыі. 88 00:04:39,610 --> 00:04:41,780 На самай справе вы, верагодна, Запусціце яго кучу раз 89 00:04:41,780 --> 00:04:45,460 пры спробе выправіць розныя памылкі. 90 00:04:45,460 --> 00:04:48,440 >> У канчатковым рахунку, вы будзеце мець сапраўды вялікая база дадзеных з тысячамі 91 00:04:48,440 --> 00:04:50,139 і тысячы геаграфічных радкоў. 92 00:04:50,139 --> 00:04:52,930 Тады вы збіраецеся пакласці, што імпарт Сцэнар бок, калі ён працуе 93 00:04:52,930 --> 00:04:55,140 і ваша база дадзеных добра і правільна, а затым 94 00:04:55,140 --> 00:04:58,880 Вы збіраецеся перайсці на самай справе рэалізацыі самага калажаў. 95 00:04:58,880 --> 00:05:01,670 Калажаў будзе выглядаць трохі нешта накшталт гэтага. 96 00:05:01,670 --> 00:05:05,165 У mashup.cs50.net, мы ёсць рашэнне персаналу 97 00:05:05,165 --> 00:05:06,990 што выглядае трохі нешта накшталт гэтага. 98 00:05:06,990 --> 00:05:11,070 На самай справе, калі я націсну на гэтую газету значок у Кембрыдж, штат Масачусэтс, 99 00:05:11,070 --> 00:05:13,300 Вы ўбачыце спінінг коратка і затым націсніце на значок 100 00:05:13,300 --> 00:05:16,370 спарадкаваны спіс, маркіраваны спіс артыкулаў 101 00:05:16,370 --> 00:05:18,280 звязаныя з Кембрыджы, штат Масачусэтс. 102 00:05:18,280 --> 00:05:20,352 Калі я націскаю на Чарльзтауне, Масачусэтс, 103 00:05:20,352 --> 00:05:21,685 Я буду бачыць тое ж самае для гэтага горада. 104 00:05:21,685 --> 00:05:24,174 І калі я націскаю на Уотертаун, штат Масачусэтс, 105 00:05:24,174 --> 00:05:26,090 там не можа быць любы навіны з Уотертаун, 106 00:05:26,090 --> 00:05:28,630 так што вы ўбачыце што-то як павольны дзень навін. 107 00:05:28,630 --> 00:05:32,140 >> Зараз, у той час, у верхнім левым куце з'яўляюцца некаторыя звыклыя элементы кіравання Google Maps 108 00:05:32,140 --> 00:05:34,980 каб вы паменшыць маштаб, пан уверх, уніз, налева і направа, 109 00:05:34,980 --> 00:05:37,360 але і акно пошуку, якое мы ставім там. 110 00:05:37,360 --> 00:05:40,910 Так што, калі я шукаю, шчыра кажучы, Адзіны паштовы індэкс Я ведаю, 111 00:05:40,910 --> 00:05:45,020 90210, мы на самай справе бачым Беверлі-Хілз, Каліфорнія. 112 00:05:45,020 --> 00:05:48,550 Пры націску прыводзіць мяне Каліфорнія і цэлая куча 113 00:05:48,550 --> 00:05:50,369 навін аб Беверлі-Хілз. 114 00:05:50,369 --> 00:05:51,910 Зараз звернеце ўвагу, таксама, што там адбылося. 115 00:05:51,910 --> 00:05:57,040 Калі я на гэты раз пошук 02138 ці нават Cambridge коскі Масачусэтс або якой-небудзь 116 00:05:57,040 --> 00:06:00,300 варыянт, вы атрымаеце трохі аўтазапаўнення спісу. 117 00:06:00,300 --> 00:06:03,840 Зараз гэта, выкарыстоўваючы убудова для бібліятэкі пад назвай JQuery, 118 00:06:03,840 --> 00:06:05,732 і што ўбудова называецца typeahead. 119 00:06:05,732 --> 00:06:07,440 Мы проста прачытаць дакументацыя, 120 00:06:07,440 --> 00:06:13,150 запампаваў .js файл інтэграваны у код размеркавання, так што вы 121 00:06:13,150 --> 00:06:16,900 у канчатковым рахунку, можа напісаць код, які запаўняе гэты выпадальнае меню з аўто 122 00:06:16,900 --> 00:06:19,350 выбар альбо аўтаматычна прапановы. 123 00:06:19,350 --> 00:06:23,820 >> Цяпер код размеркавання, аднак, што Вы атрымалі не робіць амаль столькі ж. 124 00:06:23,820 --> 00:06:26,860 Вы атрымліваеце Google Map убудаваныя, і вы атрымліваеце кантроль у левым верхнім куце, 125 00:06:26,860 --> 00:06:28,240 і вы атрымаеце акно пошуку. 126 00:06:28,240 --> 00:06:32,760 Але калі я нешта накшталт увядзіце 02138, няма месца не будуць знойдзеныя. 127 00:06:32,760 --> 00:06:34,730 Так што будзе адна з нашых мэтаў тут. 128 00:06:34,730 --> 00:06:37,430 Акрамя таго, калі вы робіце крок назад і зірнуць на самой карце, 129 00:06:37,430 --> 00:06:38,950 няма навін б там ні было. 130 00:06:38,950 --> 00:06:41,780 Нават калі я націскаю і супраціву, без маркераў на самай справе 131 00:06:41,780 --> 00:06:45,560 з'яўляюцца на навіны, таму што гэта Задача застаецца для вас. 132 00:06:45,560 --> 00:06:48,490 >> Давайце зірнем, то на код размеркавання. 133 00:06:48,490 --> 00:06:51,460 Пасля таго, як вы запампавалі pset8.zip і расшпіліў яго 134 00:06:51,460 --> 00:06:54,430 у каталогу з віртуальнымі хастамі у CS50 Appliance, 135 00:06:54,430 --> 00:06:56,550 Вы ўбачыце іх каталогі тут ўнутры. 136 00:06:56,550 --> 00:07:00,200 Bin-- якія, як правіла выступае за бінарны код для выкананага programs-- 137 00:07:00,200 --> 00:07:04,870 ўключае, як і ў pset7, некаторыя РНР файлы, якія іншыя файлы ўключаюць у сябе, 138 00:07:04,870 --> 00:07:06,710 то публіка, якая з'яўляецца файлы, якія павінны 139 00:07:06,710 --> 00:07:09,369 быць даступныя для грамадскасці карыстачу з дапамогай браўзэра. 140 00:07:09,369 --> 00:07:11,410 Давайце зірнем на Каталог скрыню, і мы 141 00:07:11,410 --> 00:07:13,890 бачыць, што ёсць файл ёсць ужо называюць Імпарт. 142 00:07:13,890 --> 00:07:17,591 Калі мы адкрыем гэта з Gedit, мы ўбачым, што, на жаль, існуе не так шмат 143 00:07:17,591 --> 00:07:18,090 там. 144 00:07:18,090 --> 00:07:20,250 Усё, што ёсць, тым не менш, гэта прытон на вяршыні 145 00:07:20,250 --> 00:07:23,410 які вызначае, якія interpreter-- ў гэтым выпадку PHP-- 146 00:07:23,410 --> 00:07:25,759 павінен быць выкарыстаны на самай справе выканаць гэты файл. 147 00:07:25,759 --> 00:07:27,550 Але тады дзе ён кажа TODO, дзе вы знаходзіцеся 148 00:07:27,550 --> 00:07:31,130 будзе неабходна напісаць код што, верагодна, патрабуе канфігурацыі 149 00:07:31,130 --> 00:07:35,820 файл, які знаходзіцца ў ўключае ў сябе каталог як мы рабілі раней з PHP файлаў. 150 00:07:35,820 --> 00:07:38,180 І тады вы будзеце як-то адкрыць 151 00:07:38,180 --> 00:07:41,920 us.text, якія Вы, верагодна, распакуете ўжо. 152 00:07:41,920 --> 00:07:44,690 Тады вы будзеце мець, каб перабору радкоў у гэтым файле, 153 00:07:44,690 --> 00:07:47,800 магчыма, з выкарыстаннем некаторых функцый прапанавана ў апісанні. 154 00:07:47,800 --> 00:07:51,390 Затым устаўце кожны з тых, лініі ў базе дадзеных MySQL 155 00:07:51,390 --> 00:07:54,940 з дапамогай функцыі запыту, які мы зноў падалі вам with-- 156 00:07:54,940 --> 00:07:58,010 або, па меншай меры, варыянт іх у functions.php, 157 00:07:58,010 --> 00:07:59,560 які мы ўбачым у хвіліну. 158 00:07:59,560 --> 00:08:04,430 >> Зараз давайце закрыем імпарт і вярнуцца да Наш каталог і на гэты раз ісці ў 159 00:08:04,430 --> 00:08:05,300 ўключае ў сябе. 160 00:08:05,300 --> 00:08:09,210 А калі я Маецца Ці, вы ўбачыце тры файла зусім як пастаўленай задачы 7. 161 00:08:09,210 --> 00:08:13,760 І давайце кінем хуткі погляд, напрыклад, у config.php. 162 00:08:13,760 --> 00:08:16,730 У там, менш радкоў чым раней, і яго 163 00:08:16,730 --> 00:08:20,712 Здаецца, гэты файл ўтрымлівае constants.php і functions.php. 164 00:08:20,712 --> 00:08:23,670 Мы выкарыстоўваем трохі адрозніваецца Тэхніка гэты раз на самай справе 165 00:08:23,670 --> 00:08:30,910 пазначыць, што гэтыя файлы з'яўляюцца адноснымі у бягучым каталогу __ DIR__ 166 00:08:30,910 --> 00:08:35,280 прадстаўляе ўсе каталог гэтым Файл, config.php, сама знаходзіцца ў. 167 00:08:35,280 --> 00:08:37,600 Так што гэта больш Відавочны спосаб задання 168 00:08:37,600 --> 00:08:40,100 што іншыя файлы, якія вы хочаце патрабаваць. 169 00:08:40,100 --> 00:08:44,020 >> Цяпер, калі я зачыню гэты файл і адкрыць constants.php замест гэтага, 170 00:08:44,020 --> 00:08:47,430 Вы ўбачыце файл вельмі нагадвае для пастаўленай задачы 7, а таксама, хоць і 171 00:08:47,430 --> 00:08:50,050 з другога базе даных пад назвай pset8. 172 00:08:50,050 --> 00:08:54,020 Нарэшце, у functions.php, мы ўбачым толькі адну функцыю 173 00:08:54,020 --> 00:08:55,942 на гэты раз называецца запыту. 174 00:08:55,942 --> 00:08:59,150 Гэта амаль тое ж самае, за выключэннем мы звяртаемся Памылкі ў гэты раз крыху 175 00:08:59,150 --> 00:09:02,860 па-рознаму, але яго выкарыстанне з'яўляецца гэтак жа, як у задачы ўстаноўлена сем. 176 00:09:02,860 --> 00:09:08,090 >> Зараз давайце вернемся ў наш pset8 каталога, перайдзіце ў публіцы, і там 177 00:09:08,090 --> 00:09:14,420 калі я раблю Ls, вы ўбачыце this-- articles.php, index.html, search.php, 178 00:09:14,420 --> 00:09:16,940 і update.php-- ўсе файлы. 179 00:09:16,940 --> 00:09:22,010 А потым CSS шрыфты, IMG, і JS каталог зусім як pset7. 180 00:09:22,010 --> 00:09:24,660 >> Давайце зірнем на index.html, які з'яўляецца 181 00:09:24,660 --> 00:09:27,290 будзе вельмі кропка ўваходу ў smashup. 182 00:09:27,290 --> 00:09:31,820 Зараз у index.html, то ўбачыце, уся куча элементаў ліній у галаве, 183 00:09:31,820 --> 00:09:36,540 У прыватнасці, для пачатковай загрузкі для нашых уласных CSS рушыла ўслед цэлая куча сцэнара 184 00:09:36,540 --> 00:09:41,520 тэгі для рэчаў, як карты, API Сам, спецыяльны маркер з пазнакай 185 00:09:41,520 --> 00:09:44,950 Ўтыліта якім мы ўжо згадвалі ў спецыфікацыя даступная для вас, 186 00:09:44,950 --> 00:09:48,420 Сам JQuery, загрузны Сам, і адна бібліятэка, 187 00:09:48,420 --> 00:09:50,990 называецца падкрэслення, якія мы гаворым пра ў спецыфікацыі. 188 00:09:50,990 --> 00:09:57,031 Underscore.js як jquery.js гэта бібліятэка JavaScript 189 00:09:57,031 --> 00:10:00,280 што мае цэлую кучу функцыянальнасці што шмат людзей у свеце жаданні 190 00:10:00,280 --> 00:10:02,020 існавалі ў самой JavaScript. 191 00:10:02,020 --> 00:10:04,560 Такім чынам, усё гэта на самай справе даволі папулярныя. 192 00:10:04,560 --> 00:10:07,140 Мы таксама згадаў typeahead які з'яўляецца бібліятэка, якая 193 00:10:07,140 --> 00:10:11,180 робіць гэта аўтазапаўнення спісу і нарэшце, спасылка на наш уласны JavaScript. 194 00:10:11,180 --> 00:10:13,880 >> У той жа час, і, магчыма, На шчасце, гэта калажаў 195 00:10:13,880 --> 00:10:17,550 прыводзіцца ў рух адносна мала HTML сюды ўнізе. 196 00:10:17,550 --> 00:10:22,330 Звярніце ўвагу, што мы паказалі DIV ў наша цела класа-кантэйнера для вадкасці. 197 00:10:22,330 --> 00:10:24,610 Гэта, у бутстраповские-х Дакументацыя, проста 198 00:10:24,610 --> 00:10:29,840 азначае, што гэты DIV збіраецца запоўніць краявіднага экрана або вокны браўзэра ў поўным аб'ёме. 199 00:10:29,840 --> 00:10:33,020 >> Між тым, ніжэй, чым у нас ёсць DIV які адкрыў і адразу ж зачыніў 200 00:10:33,020 --> 00:10:34,790 з унікальным ідэнтыфікатарам карты. 201 00:10:34,790 --> 00:10:37,400 Гэта цяпер ад Google Карты дакументацыя 202 00:10:37,400 --> 00:10:42,490 для яго API, у выніку чаго я проста трэба ёсць пусты DIV, у які будзе ўводзіць, 203 00:10:42,490 --> 00:10:44,470 у канчатковым рахунку, фактычная Google Maps. 204 00:10:44,470 --> 00:10:46,310 Але пра гэта крыху пазней. 205 00:10:46,310 --> 00:10:48,850 >> Нарэшце, ёсць форма ўнутры тут, які 206 00:10:48,850 --> 00:10:52,930 рэалізуе тэкставае поле наверсе злева у нашым інтэрфейсу для пошуку. 207 00:10:52,930 --> 00:10:54,730 Звярніце ўвагу, што мы выкарыстоўвалі трохі бутстрапе 208 00:10:54,730 --> 00:10:57,670 тут too-- рэчы, як формаў-рядный і форма-група. 209 00:10:57,670 --> 00:11:00,080 Мы далі былы Унікальны ідэнтыфікатар формы. 210 00:11:00,080 --> 00:11:04,510 А потым, у канчатковым рахунку, я на самой справе ёсць Тып уваходнага, што даволі добра знаёмыя, 211 00:11:04,510 --> 00:11:06,440 якога ідэнтыфікатар в. 212 00:11:06,440 --> 00:11:07,230 Проста канвенцыі. 213 00:11:07,230 --> 00:11:09,234 Q для query-- можа мець называюць што заўгодна. 214 00:11:09,234 --> 00:11:11,400 І тады запаўняльнік, Між тым, гэта горад, 215 00:11:11,400 --> 00:11:16,200 і паштовы код, які вы маглі б узгадаць, бачачы ў нашай калажаў дэма раней. 216 00:11:16,200 --> 00:11:17,980 Давайце закрыем гэты файл. 217 00:11:17,980 --> 00:11:24,460 >> Цяпер зірніце на файлы PHP, што чакаюць, і затым файлы JavaScript. 218 00:11:24,460 --> 00:11:27,700 У нашых PHP файлаў, мы ўжо рэалізавана для вас, 219 00:11:27,700 --> 00:11:29,960 Напрыклад, абнаўлення. 220 00:11:29,960 --> 00:11:35,060 Update.php-- мы не будзем марнаваць велізарныя колькасць часу на here-- ў двух словах 221 00:11:35,060 --> 00:11:38,400 гэта файл, што нашы Код JavaScript збіраецца 222 00:11:38,400 --> 00:11:41,610 звязацца з дапамогай AJAX, што асінхронны метад, які гэта 223 00:11:41,610 --> 00:11:45,980 убудаваны ў JavaScript у гэтыя дні, што гэта збіраецца, каб дазволіць нам, каб спытаць update.php 224 00:11:45,980 --> 00:11:47,410 для атрымання дадатковай інфармацыі. 225 00:11:47,410 --> 00:11:50,045 >> У прыватнасці, у любы час карыстальнік цягае карту 226 00:11:50,045 --> 00:11:53,310 або выконвае пошук, які скача Карыстальнік ў іншае месца, 227 00:11:53,310 --> 00:11:55,250 наш код JavaScript, як мы хутка ўбачым, з'яўляецца 228 00:11:55,250 --> 00:11:59,610 буду называць update.php і папрасіць 10 ці каля таго маркераў 229 00:11:59,610 --> 00:12:02,630 у акне прагляду аснове ад каардынатаў GPS 230 00:12:02,630 --> 00:12:06,510 у верхняй і ніжняй куты гэтай карты. 231 00:12:06,510 --> 00:12:10,520 Мы можам засяліць карту цяпер, карыстальнік перайшоў на экране ў парадку 232 00:12:10,520 --> 00:12:14,210 каб убачыць 10, верагодна, новы маркеры для розных гарадоў. 233 00:12:14,210 --> 00:12:18,340 Між тым, гэты файл, у канчатковым рахунку збіраецца выканаць SQL-запыт 234 00:12:18,340 --> 00:12:21,680 супраць нашай базе дадзеных табліцу з імем месцы, якія 235 00:12:21,680 --> 00:12:26,380 збіраецца вярнуцца тых, 10 ці менш месцы. 236 00:12:26,380 --> 00:12:32,620 >> Між тым, у articles.php, з'яўляецца яшчэ адным файла, які мы напісалі ў поўным аб'ёме. 237 00:12:32,620 --> 00:12:35,820 Ён вельмі падобны па духу Функцыя ПРАГЛЯД пастаўленай задачы 7, у 238 00:12:35,820 --> 00:12:39,450 які зьвязаўся з Yahoo Finance для вас. 239 00:12:39,450 --> 00:12:43,710 Гэты файл кантакты Google Навіны для вас, у канчатковым рахунку, захопліваючы 240 00:12:43,710 --> 00:12:46,050 машыначытальнай version-- ў чым-то 241 00:12:46,050 --> 00:12:49,720 называецца RSS format-- навінаў Кембрыдж або Беверлі-Хілз 242 00:12:49,720 --> 00:12:52,880 або любым горадзе вы шукалі для аснове гэтага geoparameter. 243 00:12:52,880 --> 00:12:57,250 Мы разабраць, што RSS, які знаходзіцца ўсяго ў тып мовы разметкі называецца XML, 244 00:12:57,250 --> 00:13:00,740 і тады мы на самай справе вярнуць яго ў браўзэры 245 00:13:00,740 --> 00:13:03,570 і ваш код JavaScript, У прыватнасці, у фармаце, званым 246 00:13:03,570 --> 00:13:06,097 JSON, JavaScript Object Notation. 247 00:13:06,097 --> 00:13:08,180 Цяпер вы ўбачыце ў specification-- мы паказваем вам 248 00:13:08,180 --> 00:13:10,720 на тое, як вы можаце бачыць, некаторыя з будучага back-- JSON 249 00:13:10,720 --> 00:13:15,210 што гэтая функцыя ў канчатковым рахунку, дазваляе вам запоўніць гэтыя усплывальныя меню, так 250 00:13:15,210 --> 00:13:16,960 што пры націску на маркер у карце 251 00:13:16,960 --> 00:13:19,430 вы на самой справе бачыце цэлую кучу куль, кожны з якіх 252 00:13:19,430 --> 00:13:21,020 Спасылкі на артыкулы. 253 00:13:21,020 --> 00:13:25,000 >> Зараз давайце зірнем на яшчэ адзін PHP-файл, які, на шчасце, не 254 00:13:25,000 --> 00:13:27,970 ёсць шмат усяго адбываецца on-- толькі даволі вялікі TODO. 255 00:13:27,970 --> 00:13:32,170 Зараз гэты файл аб'яўляе Масіў назваць месцамі. 256 00:13:32,170 --> 00:13:35,980 , І ў выніку друкуе што масіў у JSON format-- 257 00:13:35,980 --> 00:13:38,720 даволі-друку яго проста так, што рэчы лягчэй для адладкі. 258 00:13:38,720 --> 00:13:41,480 На жаль, у сярэдні ёсць гэты TODO, 259 00:13:41,480 --> 00:13:46,890 якая заклікае да вас шукаць база дадзеных для месцаў, адпаведных гео HTTP 260 00:13:46,890 --> 00:13:47,490 параметрам. 261 00:13:47,490 --> 00:13:49,865 >> І, сапраўды, гэта будзе быць адным з вашых challenges-- 262 00:13:49,865 --> 00:13:54,240 каб рэалізаваць гэтую функцыянальнасць тут так што, калі вы звярніцеся да гэтага файлу 263 00:13:54,240 --> 00:14:00,610 URL як пошук. PHP? Гео = тое, ваш код будзе ў канчатковым выніку вярнуць JSON 264 00:14:00,610 --> 00:14:05,020 Масіў ўсіх аб'ектаў у спісе Табліца базы дадзеных, якія адпавядаюць гэтаму ўваходу. 265 00:14:05,020 --> 00:14:08,960 Так што, калі карыстальнік ўводзіць у Кембрыджы, Ваш файл тут search.php 266 00:14:08,960 --> 00:14:12,680 у канчатковым рахунку павінны вярнуць масіў JSON для ўсіх матчаў у Кембрыдж, 267 00:14:12,680 --> 00:14:16,990 якія могуць быць у штаце Масачусэтс але можа быць нават дзе-небудзь яшчэ. 268 00:14:16,990 --> 00:14:21,040 >> Нарэшце, давайце зірнем на два файлы, якія з'яўляюцца статычнымі ultimately-- 269 00:14:21,040 --> 00:14:23,680 Ваш файл CSS і ваш файл JavaScript. 270 00:14:23,680 --> 00:14:26,779 Калі я іду ў нашым каталогу CSS, ёсць цэлая куча файлаў там, 271 00:14:26,779 --> 00:14:28,070 але большасць з іх з'яўляюцца бібліятэкі. 272 00:14:28,070 --> 00:14:31,530 Я збіраюся зірнуць, У прыватнасці, на styles.css, 273 00:14:31,530 --> 00:14:35,440 якая з'яўляецца нашым уласным глабальны CSS гэта будзе стылізаваць ўвесь гэты калажаў. 274 00:14:35,440 --> 00:14:38,840 Я пакіну гэта вам прачытаць каментары тут, але, увогуле, 275 00:14:38,840 --> 00:14:43,490 гэта CSS, што гарантуе, што нашы калажаў, па змаўчанні з скрынкі, 276 00:14:43,490 --> 00:14:46,950 выглядае менавіта так, як мы хочам it-- з картай запаўнення назіральнае адтуліну 277 00:14:46,950 --> 00:14:49,720 і з пошукам запіхваць у левым верхнім куце. 278 00:14:49,720 --> 00:14:52,870 Мы таксама ўзяў на сябе смеласць стылізацыю, што typeahead выпадальны спіс 279 00:14:52,870 --> 00:14:55,170 Меню трохі, як добра. 280 00:14:55,170 --> 00:14:58,030 >> Найбольш важны файл Магчыма, па гэтай пастаўленай задачы 281 00:14:58,030 --> 00:15:01,070 гэта апошні, scripts.js. 282 00:15:01,070 --> 00:15:03,800 Усярэдзіне каталога JS нават некалькі файлаў. 283 00:15:03,800 --> 00:15:08,090 Усе яны бібліятэчныя файлы для гэтага, акрамя аднаго, scripts.js. 284 00:15:08,090 --> 00:15:11,460 Калі мы адкрыем гэтую гульню, давайце наш выніковы тур праз функцыі, якія 285 00:15:11,460 --> 00:15:13,820 ўбудаваны ў гэтым файле для вас і ўвагі выкліку 286 00:15:13,820 --> 00:15:16,200 у нязробленым, якія ляжаць наперадзе. 287 00:15:16,200 --> 00:15:19,110 >> У верхняй часткі гэтага файла, тры глабальныя зменныя. 288 00:15:19,110 --> 00:15:22,910 Адзін за картай, якая збіраецца быць спасылка на нашай карце Google. 289 00:15:22,910 --> 00:15:25,510 Вы можаце думаць пра гэта накшталт як паказальнік. 290 00:15:25,510 --> 00:15:27,710 Між тым, мы маем іншы глабальнай зменнай 291 00:15:27,710 --> 00:15:31,500 называецца інфармацыя, якая, як уяўляецца, захоўвання вяртаецца значэння выкліку 292 00:15:31,500 --> 00:15:34,170 да новага google.maps.InfoWindow. 293 00:15:34,170 --> 00:15:37,835 JavaScript падтрымлівае аб'екты, якія вельмі падобныя па духу Struts. 294 00:15:37,835 --> 00:15:40,250 І тое, што гэтая лінія для нашы мэты робіць 295 00:15:40,250 --> 00:15:42,820 стварае новую інфармацыю акно, у памяці, а затым 296 00:15:42,820 --> 00:15:46,330 трымаць вакол спасылкі да яго ў зменнай з імем інфармацыя. 297 00:15:46,330 --> 00:15:48,330 І паміж гэтымі, Між тым, тое, што з'яўляецца 298 00:15:48,330 --> 00:15:51,060 каб быць пусты наяўнасць Масіў называецца маркеры. 299 00:15:51,060 --> 00:15:55,392 Усе гэтыя газетныя абразоў, ці вы можа наогул выбраць іншы значок, 300 00:15:55,392 --> 00:15:57,350 якія будуць захоўвацца у канчатковым рахунку, у гэтым масіве 301 00:15:57,350 --> 00:16:01,570 так што мы можам вельмі лёгка дадаць у карта і выдаліць іх з карты. 302 00:16:01,570 --> 00:16:03,990 >> Зараз давайце пракруціць ўніз ледзь-ледзь і свіст 303 00:16:03,990 --> 00:16:07,690 з дапамогай кода, будзе выконваецца, як толькі DOM або дакумента 304 00:16:07,690 --> 00:16:10,480 аб'ектная мадэль або Сама старонка будзе гатовая. 305 00:16:10,480 --> 00:16:12,942 Нагадаем, што гэты сінтаксіс тут проста паказвае 306 00:16:12,942 --> 00:16:14,900 што наступны код павінен быць выкананы толькі 307 00:16:14,900 --> 00:16:17,840 калі браўзэр скончыў загрузка ўсё астатняе. 308 00:16:17,840 --> 00:16:19,750 >> Мы спачатку аб'явіць цэлая куча стыляў, 309 00:16:19,750 --> 00:16:22,410 якія ў канчатковым выніку стылізацыі Карта, як у спецыфікацыі. 310 00:16:22,410 --> 00:16:24,790 Затым мы аб'яўляем Увесь набор опцый, 311 00:16:24,790 --> 00:16:28,630 якія ў далейшым наладзіць Google Карта, што мы збіраемся укараніць. 312 00:16:28,630 --> 00:16:32,090 Затым мы выкарыстоўваем трохі JQuery код, што тлумачыцца ў трохі больш падрабязна 313 00:16:32,090 --> 00:16:35,000 у спецыфікацыі, каб захапіць што элемент, карта палатно 314 00:16:35,000 --> 00:16:36,980 што мы так адназначна ідэнтыфікаваныя. 315 00:16:36,980 --> 00:16:40,640 А потым гэтая лінія тут тое, што здаецца чароўным даць нам 316 00:16:40,640 --> 00:16:43,560 Карта Google ўнутры наш ўласнае прыкладанне, 317 00:16:43,560 --> 00:16:47,020 захоўвання спасылку на іх ў гэтай зменнай называецца мапе. 318 00:16:47,020 --> 00:16:50,550 >> Нарэшце, тут мы рэгіструем тое, што называецца слухачом. 319 00:16:50,550 --> 00:16:54,690 Падумайце back-- шлях, шлях back-- да нулявой тыдні ў CS50 320 00:16:54,690 --> 00:16:57,430 калі мы глядзелі на пустым месцы і падтрымка праз шпацыр 321 00:16:57,430 --> 00:16:59,935 праз рэчы, званыя падзеі і трансляцыі. 322 00:16:59,935 --> 00:17:01,810 Вы не маглі б выкарыстоўваць сам, але гэта 323 00:17:01,810 --> 00:17:03,900 механізм, з дапамогай якога Браўзэр у гэтым выпадку 324 00:17:03,900 --> 00:17:07,940 можа прыцягнуць нашу ўвагу, калі гэта гатовы на самай справе выканаць код. 325 00:17:07,940 --> 00:17:12,170 У гэтым выпадку, гэта будзе слухаць на карту для мерапрыемстве пад назвай прастойвае. 326 00:17:12,170 --> 00:17:14,930 Гэта азначае, што браўзэр мае завяршыў загрузку карту Google. 327 00:17:14,930 --> 00:17:18,380 На дадзены момант функцыя называецца Налада павінна ў канчатковым рахунку, 328 00:17:18,380 --> 00:17:19,339 быць пакараны. 329 00:17:19,339 --> 00:17:22,510 Гэтая функцыя, наладжваць мы ўбачым, напісана намі. 330 00:17:22,510 --> 00:17:24,550 >> Цяпер тут знаходзіцца функцыя што, на жаль, 331 00:17:24,550 --> 00:17:25,871 проста TODO дадаць маркер. 332 00:17:25,871 --> 00:17:28,620 Паводле спецыфікацыі. Вы будзеце мець патрэбу напісаць код, які на самай справе 333 00:17:28,620 --> 00:17:32,840 дадае marker-- выглядае Ці гэта як газету, так і на флэш тактыку, 334 00:17:32,840 --> 00:17:35,360 або што-то else-- да карце Google. 335 00:17:35,360 --> 00:17:37,720 Вось цяпер у тым, што функцыя называецца наладзе. 336 00:17:37,720 --> 00:17:40,390 Я пакідаю гэта вам чытаць праз гэта больш падрабязна, 337 00:17:40,390 --> 00:17:42,600 але разумею, што мы дадаем куча больш слухачоў 338 00:17:42,600 --> 00:17:46,620 так што мы можам выканаць код, калі Карыстальнік націскае на цягне карту. 339 00:17:46,620 --> 00:17:50,730 У нас таксама ёсць код тут ініцыялізуе гэтую typeahead убудова 340 00:17:50,730 --> 00:17:53,120 так што выпадальны Меню сапраўды працуе. 341 00:17:53,120 --> 00:17:55,690 >> Але давайце засяродзіцца толькі на некалькі месцаў тут. 342 00:17:55,690 --> 00:17:57,590 У прыватнасці, гэта зрабіць тут. 343 00:17:57,590 --> 00:18:00,410 Я адкласці да онлайн дакументацыя і спецыфікацыі 344 00:18:00,410 --> 00:18:02,530 аб тым, як запоўніць гэтую TODO. 345 00:18:02,530 --> 00:18:05,890 Але ў двух словах, гэтая бібліятэка typeahead дазваляе перадаваць 346 00:18:05,890 --> 00:18:09,790 У тое, што агульнавядома як шаблон, які мае некаторыя зменныя запаўняльнікі 347 00:18:09,790 --> 00:18:13,690 вельмі блізкія па духу PRINTF у%. * S. 348 00:18:13,690 --> 00:18:16,030 Але ў гэтым выпадку, шаблон паводле спецыфікацыі 349 00:18:16,030 --> 00:18:18,760 дазваляе паказаць якія зменныя вы хочаце 350 00:18:18,760 --> 00:18:24,880 ўводзіць з дадзеных, якія прыходзяць назад ад чаго-то накшталт PHP 351 00:18:24,880 --> 00:18:29,810 файлы, якія вы напісалі што выпраменьваюць выхад JSON. 352 00:18:29,810 --> 00:18:35,170 >> Цяпер тут разумеюць, што мы прыслухоўваючыся да typeahead выбараў 353 00:18:35,170 --> 00:18:38,050 калі карыстач у рэчаіснасці вядзе пошук і выбірае значэнне. 354 00:18:38,050 --> 00:18:40,270 Гэта, як мы на самай справе будзе слухаць, што 355 00:18:40,270 --> 00:18:42,250 і выканаць код у якасці выніку. 356 00:18:42,250 --> 00:18:45,300 Тады мы працягваем наладжваць калажаў толькі ледзь-ледзь. 357 00:18:45,300 --> 00:18:48,000 І, у канчатковым рахунку, мы называем Гэтая функцыя абнаўлення. 358 00:18:48,000 --> 00:18:49,640 Ён абнаўляе маркеры на экране. 359 00:18:49,640 --> 00:18:51,529 Больш падрабязна пра гэта ў хвіліну. 360 00:18:51,529 --> 00:18:53,570 Між тым, ёсць некалькі невялікія функцыі тут. 361 00:18:53,570 --> 00:18:56,820 Адным з іх з'яўляецца hideInfo якія проста закрывае InfoWindow. 362 00:18:56,820 --> 00:19:00,020 Яшчэ адна функцыя тут, што ў канчатковым выніку не будзе занадта доўга, выдаліць маркеры. 363 00:19:00,020 --> 00:19:03,580 Гэта збіраецца адмяніць усе надбудова функцыя маркер ня. 364 00:19:03,580 --> 00:19:04,960 А потым сюды, гэта пошук. 365 00:19:04,960 --> 00:19:08,610 А гэта цікава, таму што мы напісаў код JavaScript, што гэта 366 00:19:08,610 --> 00:19:13,490 збіраюся пагаварыць з search.php на сервер і атрымаць назад некаторую рэакцыю. 367 00:19:13,490 --> 00:19:16,110 >> Вы, вядома, будзе па-ранейшаму неабходна рэалізаваць search.php, 368 00:19:16,110 --> 00:19:18,310 але мы рэалізавалі Код JavaScript гэта 369 00:19:18,310 --> 00:19:22,480 справімся, фактычна выконваючы пошук ад гэтага тэкставае поле. 370 00:19:22,480 --> 00:19:25,340 У прыватнасці, паведамлення што гэтая функцыя тут, 371 00:19:25,340 --> 00:19:29,160 пошук, сапраўды патрабуе search.php па спосабе, званаму 372 00:19:29,160 --> 00:19:31,072 атрымаць JSON, які мы бачылі ў лекцыі. 373 00:19:31,072 --> 00:19:32,780 І сінтаксіс тут гэта крыху па-іншаму 374 00:19:32,780 --> 00:19:37,110 З лекцыі ў тым, што мы выкарыстоўваем JQuery так званы інтэрфейс абяцанне. 375 00:19:37,110 --> 00:19:38,479 Больш падрабязна пра гэта ў спецыфікацыі. 376 00:19:38,479 --> 00:19:40,520 Гэта проста азначае для нашых Мэты Цяпер, калі 377 00:19:40,520 --> 00:19:43,870 дзве спецыяльныя функцыі, якія мы трэба патэлефанаваць з кропкавай натацыі 378 00:19:43,870 --> 00:19:46,230 тут адразу пасля выкліку атрымаць JSON. 379 00:19:46,230 --> 00:19:47,510 Адна з іх называецца зрабіць. 380 00:19:47,510 --> 00:19:49,870 Адна з іх называецца правал. 381 00:19:49,870 --> 00:19:51,790 Вы можаце думаць пра іх ў якасці апрацоўшчыка поспеху 382 00:19:51,790 --> 00:19:54,960 і апрацоўшчык адмову толькі калі нешта пойдзе не так. 383 00:19:54,960 --> 00:19:57,760 >> Зараз давайце паглядзім на апошні Некалькі функцый у гэтым файле. 384 00:19:57,760 --> 00:20:00,180 Ўніз тут функцыя называецца showInfo, што 385 00:20:00,180 --> 00:20:03,090 паказвае інфармацыю ў адным з тых, маленькія інфармацыйныя вокны, якія 386 00:20:03,090 --> 00:20:05,380 з'яўляецца, калі карыстальнік пстрыкае маркер. 387 00:20:05,380 --> 00:20:08,470 Ўніз вось далей ёсць што функцыя абнаўлення 388 00:20:08,470 --> 00:20:10,510 што мы рэалізавалі для вас. 389 00:20:10,510 --> 00:20:15,250 Ён вызначае межы карты. 390 00:20:15,250 --> 00:20:19,360 Якія GPS каардынаты яго паўночны ўсход і паўднёвы захад куты тут. 391 00:20:19,360 --> 00:20:22,780 Мы падрыхтавалі некаторыя параметры HDP тут, а затым перадаў іх у канчатковым рахунку, 392 00:20:22,780 --> 00:20:26,160 у update.php, які мы Таксама рэалізаваны для вас. 393 00:20:26,160 --> 00:20:31,390 У канчатковым выніку, вяртаецца некаторы JSON ад файла называецца update.php 394 00:20:31,390 --> 00:20:34,050 а затым выдаляе любыя Маркеры на экране 395 00:20:34,050 --> 00:20:36,650 а затым перабірае дадзеныя, якія вяртаюцца 396 00:20:36,650 --> 00:20:40,350 ад update.php, які зноў проста масіў JSON. 397 00:20:40,350 --> 00:20:45,130 І тады, у канчатковым рахунку дадае маркер для кожны з гэтых месцаў, апрацоўкі адмову 398 00:20:45,130 --> 00:20:47,750 або памылак, якія могуць вельмі добра здарыцца. 399 00:20:47,750 --> 00:20:51,550 >> Цяпер толькі, каб даць вам густ, як вы можа пайсці аб адладцы гэты праект, 400 00:20:51,550 --> 00:20:55,420 разумею, што я адкрыў у прасунуць гэтую ўкладку тут, каб гэтым адрасе, 401 00:20:55,420 --> 00:21:01,320 pset8 / articles.php? гео = 02138. 402 00:21:01,320 --> 00:21:04,050 Зараз зноў артыкулы пра PHP мы рэалізавалі для вас 403 00:21:04,050 --> 00:21:06,320 так што гэта не так шмат тое, што вы будзеце выкарыстоўваць 404 00:21:06,320 --> 00:21:08,190 для адладкі, а тэхнікі. 405 00:21:08,190 --> 00:21:10,590 Звярніце ўвагу, што я шукаў Паштовы індэкс Кембрыджа тут, 406 00:21:10,590 --> 00:21:15,260 і я атрымаў назад, на самай справе, JSON масіў JSON аб'ектаў, усярэдзіне якіх 407 00:21:15,260 --> 00:21:17,640 два keys-- спасылку і назва. 408 00:21:17,640 --> 00:21:19,860 >> Так гэтая функцыянальнасць ўжо працуе для вас. 409 00:21:19,860 --> 00:21:24,330 Але гэты метад ўручную адбываецца у URL, як гэта нешта накшталт 410 00:21:24,330 --> 00:21:31,710 search.php? гео = Кембрыдж або 02138 або тое, што карыстальнік набраў у павінны 411 00:21:31,710 --> 00:21:35,770 неацэнным, як вы самі, паспрабуйце каб высветліць дакладна, ці чаму 412 00:21:35,770 --> 00:21:38,510 search.php працуе ці не. 413 00:21:38,510 --> 00:21:41,720 >> У канчатковым рахунку, то, у вас ёсць некалькі ToDos перад вамі. 414 00:21:41,720 --> 00:21:44,250 Вы збіраецеся першых гармат што сцэнар імпарту, што 415 00:21:44,250 --> 00:21:46,520 счытвае us.text ў вашай базе дадзеных. 416 00:21:46,520 --> 00:21:48,760 Вы тады будзеце мець патрэбу ажыццявіць search.php 417 00:21:48,760 --> 00:21:51,320 так, што ён паводзіць сябе так, як паказана. 418 00:21:51,320 --> 00:21:54,170 Вы тады збіраецеся хочаце засяродзіцца на scripts.js 419 00:21:54,170 --> 00:21:57,520 і ў канчатковым выніку рэалізуе тыя пару нязробленым, 420 00:21:57,520 --> 00:21:59,950 у тым ліку для Наладзіць і што шаблон, 421 00:21:59,950 --> 00:22:03,220 дадаць маркеры, выдаліць маркеры, і Затым у мінулым, але не менш важнае, адзін 422 00:22:03,220 --> 00:22:04,330 асабісты кантакт. 423 00:22:04,330 --> 00:22:07,477 >> Калі ў вас ёсць калажаў працу зусім як у нас, мэта пад рукой 424 00:22:07,477 --> 00:22:09,560 для Вас, каб дадаць асабісты дакрануцца да вашай калажаў, 425 00:22:09,560 --> 00:22:11,290 ці з'яўляецца гэта эстэтычнае або функцыянальнае. 426 00:22:11,290 --> 00:22:13,950 Вазьміце калажаў вельмі трохі на наступны ўзровень. 427 00:22:13,950 --> 00:22:18,330 Так доўга, як вы прымусіць сябе за ваша знаёмства з самай спецыфікацыі 428 00:22:18,330 --> 00:22:20,840 і забраць адну тэхніку новы, нават калі гэта проста 429 00:22:20,840 --> 00:22:25,610 то эстэтычныя, як змяняецца Схема карце, які вы выкарыстоўваеце, 430 00:22:25,610 --> 00:22:28,070 Сфера, што мы чакаем, будуць задаволеныя. 431 00:22:28,070 --> 00:22:30,260 Што ж тады праблема Set 8 Mashup. 432 00:22:30,260 --> 00:22:33,070 Заставайцеся з намі для больш Спецыфікацыя і ўдачы 433 00:22:33,070 --> 00:22:36,400 вырашэння гэтага ваш апошні Праблема CS50 ўсталяваць ніколі. 434 00:22:36,400 --> 00:22:39,750 >> [Гуляе музыка] 435 00:22:39,750 --> 00:22:43,542