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 >> DAVID J. مالان: مرحبا. 4 00:00:10,180 --> 00:00:12,600 دعونا نلقي المشي من خلال مشكلة تعيين 8 المزج، 5 00:00:12,600 --> 00:00:15,880 وهو ذاهب الى تحدي لك ل تستمد من عناصر لخرائط جوجل 6 00:00:15,880 --> 00:00:20,905 مع عناصر من أخبار Google والهريس منهم معا في بريمج على شبكة الإنترنت أن 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 >> دعونا أولا لخرائط جوجل نفسها. 13 00:00:38,920 --> 00:00:41,220 هذا، بطبيعة الحال، وربما واجهة مألوفة. 14 00:00:41,220 --> 00:00:45,070 ولكن تبين أن خرائط جوجل كما يوفر تطبيق API-- 15 00:00:45,070 --> 00:00:48,360 برمجة interface-- عبر التي يمكنك أن تأخذ عناصر من خرائط جوجل 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 لخرائط جوجل API الإصدار 3 وكذلك كما API خرائط غوغل جافا سكريبت 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 دعا الجغرافية. 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 وهاهنا، 37 00:02:00,740 --> 00:02:02,907 سترى أن أنا فعلا نرى تقريبا نفس الأخبار. 38 00:02:02,907 --> 00:02:05,489 ربما الأمر مختلف قليلا لأن كامبريدج الواقع 39 00:02:05,489 --> 00:02:06,910 لديها رموز البريدي متعددة. 40 00:02:06,910 --> 00:02:09,410 الآن كيف لي أن أعرف أن و، في الواقع، كيف يمكن لي بطريقة أو بأخرى 41 00:02:09,410 --> 00:02:12,940 ربط المدن والبلدات إلى رموز البريدي في حالة I 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-- المفصولة بفواصل القيم الملف-- 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 ماساتشوستس ومختلف رموز البريدي به. 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 هذا شيء عظيم لأن أحد ملامح خرائط جوجل 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 في الواقع، إذا كنت سحب بريس وجود المستوردة بالفعل، كما كنت قريبا، 72 00:03:49,100 --> 00:03:54,800 pset8.SQL، سترى طاولة الخلية التي يبدو مثل هذا، حقل ID، بلد 73 00:03:54,800 --> 00:03:57,400 الرمز، الرمز البريدي، واسم المكان، وأكثر من ذلك. 74 00:03:57,400 --> 00:04:00,490 أنواع كل تلك أعمدة I اشتقاق ببساطة 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 >> الآن، وفي الوقت نفسه، في أعلى اليسار هي بعض الضوابط خرائط جوجل مألوفة 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 أو حتى كامبريدج ماساتشوستس فاصلة أو بعض 116 00:05:57,040 --> 00:06:00,300 البديل منه، وتحصل على القليل المنسدلة الإكمال التلقائي. 117 00:06:00,300 --> 00:06:03,840 الآن هذا هو استخدام البرنامج المساعد لمكتبة دعا مسج، 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 تم تنزيلها ملف شبيبة متكامل إلى رمز التوزيع حتى يتسنى لك 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 يمكنك الحصول على خريطة جوجل جزءا لا يتجزأ، و يمكنك الحصول على ضوابط أعلى اليسار، 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، 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، وبعض PHP الملفات التي تشمل ملفات أخرى، 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 إذا فتحنا هذا مع جي إديت، وسنرى التي، للأسف، ليس هناك الكثير 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 إذا كنت تفعل ليرة سورية، سترى 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 ثم الخطوط المغلق، IMG، و شبيبة الدليل تماما مثل pset7. 180 00:09:22,010 --> 00:09:24,660 >> دعونا نلقي نظرة على index.html و، وهو 181 00:09:24,660 --> 00:09:27,290 ستكون حقا نقطة الدخول إلى التصادم. 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 مسج نفسه، التمهيد في حد ذاته، ومكتبة أخرى 187 00:09:48,420 --> 00:09:50,990 دعا تسطير التي نتحدث عنها في المواصفات. 188 00:09:50,990 --> 00:09:57,031 Underscore.js مثل jquery.js هي مكتبة جافا سكريبت 189 00:09:57,031 --> 00:10:00,280 التي لديها مجموعة كاملة من وظائف أن الكثير من الناس في رغبة العالم 190 00:10:00,280 --> 00:10:02,020 كانت موجودة في جافا سكريبت نفسها. 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 يفعل ذلك المنسدلة الإكمال التلقائي و أخيرا وصلة إلى تشغيل الجافا الخاصة بنا. 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 لاحظ أننا قد حددت شعبة في لدينا من السوائل الطبقة الحاوية الجسم. 197 00:10:22,330 --> 00:10:24,610 هذا، ولكل التمهيد وثائق، فقط 198 00:10:24,610 --> 00:10:29,840 يعني أن هذا شعبة تسير لملء منفذ العرض أو نافذة المتصفح بالكامل. 199 00:10:29,840 --> 00:10:33,020 >> وفي الوقت نفسه، دون أن يكون لدينا شعبة وهذا ما فتحها وإغلاقها فورا 200 00:10:33,020 --> 00:10:34,790 مع معرف فريد من خريطة قماش. 201 00:10:34,790 --> 00:10:37,400 هذا الآن هو من جوجل وثائق الخرائط 202 00:10:37,400 --> 00:10:42,490 لAPI لها، حيث أنني ببساطة الحاجة الى لديك شعبة فارغة إلى التي لحقن، 203 00:10:42,490 --> 00:10:44,470 في نهاية المطاف، وخرائط جوجل الفعلية. 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 لقد أعطيت السابق ID الفريد من النموذج. 210 00:11:00,080 --> 00:11:04,510 وبعد ذلك، في نهاية المطاف، أنا فعلا نوع المدخلات، والذي هو مألوف جدا، 211 00:11:04,510 --> 00:11:06,440 الذي ID هو ف. 212 00:11:06,440 --> 00:11:07,230 مجرد الاتفاقية. 213 00:11:07,230 --> 00:11:09,234 س ل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 التي ننتظر ثم الملفات جافا سكريبت. 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 هو الملف الذي لدينا شفرة جافا سكريبت يسير 222 00:11:38,400 --> 00:11:41,610 في الاتصال عبر AJAX أن تقنية غير متزامن هذا 223 00:11:41,610 --> 00:11:45,980 في صلب جافا سكريبت في هذه الأيام وهذا الذهاب للسماح لنا ان نسأل 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 لدينا شفرة جافا سكريبت، كما سنرى قريبا، هو 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 التي اتصلت ياهو المالية بالنسبة لك. 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 وشفرة جافا سكريبت الخاصة بك، على وجه التحديد، في شكل يدعو 246 00:13:03,570 --> 00:13:06,097 JSON، وجافا سكريبت تدوين كائن. 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 مثل البحث. فب؟ الجغرافية = شيء، سوف التعليمات البرمجية تعود في نهاية المطاف 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 الخاص بك وملف جافا سكريبت الخاصة بك. 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 لقد اتخذنا أيضا حرية stylizing أن المنسدلة 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 واحد للخريطة، وهو ذاهب الى يكون مرجعا لخريطة جوجل لدينا. 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 جافا سكريبت تدعم الأشياء التي متشابهة جدا في روح لالدعامات. 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 الذي ينتهي stylizing خريطة حسب المواصفات. 310 00:16:22,410 --> 00:16:24,790 نحن بعد اعلان مجموعة كاملة من الخيارات، 311 00:16:24,790 --> 00:16:28,630 الأمر الذي يزيد من تخصيص جوجل الخريطة التي نحن على وشك أن تضمين. 312 00:16:28,630 --> 00:16:32,090 ثم نستخدم قليلا من التعليمات البرمجية مسج، الذي أوضح في مزيد من التفاصيل قليلا 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 خريطة جوجل من الداخل تطبيق الخاصة بنا، 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 وهذا يعني أن المتصفح له الانتهاء من تحميل خريطة جوجل. 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-- إلى خريطة جوجل. 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 ل٪. * ق. 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 ولكن لدينا نفذت شفرة جافا سكريبت هذا 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 من محاضرة في الذي نستخدمه مسج ما يسمى واجهة الوعد. 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 أدرك أنني قد فتحت في دفع هذا التبويب هنا في هذا URL، 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 >> ثم في نهاية المطاف، لديك عدد قليل من تودوس تنتظركم. 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 ثم أن مشكلة تعيين 8 المزج. 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