[موسیقی بجانے] DAVID J. MALAN: ہیلو. کے ذریعے ایک واک لے چلتے ہیں مسئلہ سیٹ 8 میشپ، جس سے آپ کو چیلنج کرنے کی جا رہی ہے Google Maps کے لئے عناصر صلی اللہ علیہ وسلم اپنی طرف متوجہ گوگل خبریں اور سانی سے عناصر کے ساتھ ایک دوسرے کے ساتھ ایک ویب اپلیٹ میں ان کو کہ ایک صارف کے تلاش کرنے کے لئے کی اجازت دیتا ہے مقامی خبریں کے لئے ایک نقشہ مخصوص شہروں میں، شہروں، اور زپ کوڈ. ایسا کرنے کے لئے، ہم جا رہے ہیں کچھ HTML ضم، سی ایس ایس، پی ایچ پی، SQL، جاوا سکرپٹ، اور ایک ٹیکنالوجی عام طور پر ترتیب میں AJAX کے طور پر جانا اس عمیق پیدا کرنے کے لئے صارف کا تجربہ. کے پہلے گوگل نقشہ جات ہی کے لئے کرتے ہیں. یہ، کورس کے، شاید ہے ایک واقف انٹرفیس. لیکن یہ پتہ چلا ہے کہ گوگل نقشہ جات یہ بھی ایک API-- درخواست فراہم انٹرفیس پروگرامنگ جس کے ذریعے آپ کو Google Maps کے عناصر لے جا سکتے ہیں اور میں ضم اپنی خود کی ایپلی کیشنز. بے شک، میں اس عمل، آپ جا رہے ہیں یو آر ایل کی ایک جوڑے تلاش کرنے کے لئے کہ خاص طور پر مددگار میں ذکر کر رہے ہیں مسئلہ سیٹ 8 کے لئے تصریح، خاص طور پر اس شروعات گائیڈ یا ڈیولپر کی گائیڈ Google Maps کے API ورژن 3 کے ساتھ ساتھ کے لئے گوگل نقشہ جات جاوا سکرپٹ API کے طور پر ایک ہے جو V3 ریفرنس، پڑھنے کے لئے سا زیادہ arcane لیکن اصل میں نچلے درجے کے سب ہیں کیا کام کرتا ہے یا طریقوں کے بارے میں تفصیلات اور اشیاء اور خصوصیات اور واقعات دراصل API کے ساتھ آتے ہیں، روح میں بہت ہی [اشراوی] صفحات پر. اب ہم ایک نظر ڈالیں تو گوگل نیوز پر، تمہیں میں شاید یہاں ایک واقف انٹرفیس دیکھ. لیکن یہ آپ کو بھی تلاش کر سکتے ہیں باہر کر دیتا ہے مخصوص جغرافیائی علاقوں کیلئے گوگل خبریں جیو نامی ایک HTTP پیرامیٹر کے ذریعے. اصل میں، میں میں زوم اگر یہاں، آپ کو نظر آئے گا کہ میں میں ہوں news.google.com/news/section؟geo=02138. اور، یقینا، میں زوم کریں باہر، آپ کو میں ہوں کہ نظر آئے گا ایک مکمل جھوبڈ کے ساتھ ایک صفحے پر دیکھ رہے کیمبرج، میسا چوسٹس کے بارے میں خیالات. دریں اثنا، میں واقعی میں تبدیل کرتے ہیں یو آر ایل، اس طرح ایک زپ کوڈ بننا نہیں لیکن ایک چھوٹی سی messier کچھ اور کیمبرج، میسا چوسٹس + کی طرح، کے علاوہ جس طرح سے ہے جہاں آپ کو ایک ضابطہ کاری کریں ایک یو آر ایل میں خلا کردار اور درج کریں مارا، آپ اصل میں ہے کہ میں دیکھ لیں گے تقریبا ایک ہی خبر دیکھیں. شاید یہ ایک تھوڑا سا مختلف ہے کیمبرج اصل کیونکہ ایک سے زیادہ زپ کوڈ ہے. اب میں کس طرح جانتے ہیں کہ اور کرے گا، حقیقت میں، کہ کس طرح کسی نہ کسی طرح میں کر سکتا ہوں شہروں اور قصبوں باندھنے کیس میں اندر زپ کوڈ کو صارف کی اجازت چاہتا ہوں یا تو تلاش کرنے کے لئے؟ ویسے، یہ وہاں ہے کہ باہر کر دیتا ایک ویب سائٹ کو وہاں سے باہر بلایا geonames.org جو ہے ایک پہل ہے کرنا سب سے ایک آزادانہ طور پر دستیاب ڈیٹا بیس جغرافیائی معلومات کے ہر قسم کے، نہ صرف ہمارے لئے ہیں، بلکہ دیگر ممالک کے لئے اس کے ساتھ ساتھ. اصل میں، میں، اس یو آر ایل پر جاتے ہیں جس میں بھی مسئلہ سیٹ میں ذکر کیا جاتا ہے تصریح، آپ اسے تین دیکھ لیں گے زپ فائلوں کی ایک پوری چڑھانے کی لسٹنگ جن میں سے کوئی بھی آپ کی طرف سے ڈاؤن لوڈ کیا جا سکتا ہے. اصل میں، اس مسئلہ کے لئے مقرر آپ us.zip اتارنا کرنے کے لئے جا رہے ہیں. اب اس فائل کے اندر اندر، ایک پوری ہے متن کی شکل میں اعداد و شمار کے گروپ. فائلوں کو ایک بہت ملتا جلتا ہے CSV-- کاما قدریں فائل لیکن یہ اصل میں کا استعمال کرتا ہے ٹیبز کھیتوں کی تخصیص کرنے کے لئے. اب، اس دوران، آپ کو نظر آتے ہیں یہاں میں نے روشنی ڈالی ہے کیا میں، اس فائل میں کھیتوں جا رہے ہیں ملک کوڈ طرح چیزوں بننا، پوسٹل کوڈ، جگہوں کے نام، اور اس کے بعد، کسی نہ کسی شکل میں یا دیگر، ریاستوں اور ممالک، کمیونٹیز، اور زیادہ. اصل میں، میں نے پہلے ہی ہے پہلے میں اس فائل کو ڈاؤن لوڈ کیا. مجھے آگے بڑھیں اور یہاں اس کو کھولنے بے شک، تم سب، us.text-- اور میں نے 16.792 لائن کے لئے ذیل میں سکرال تو دیکھ آپ، کیمبرج کے لیے چند ریکارڈز کو دیکھ لیں گے میساچوسٹس اور اس کے مختلف زپ کوڈ. کیا آپ کو وہاں بھی دیکھ، کاؤنٹی ہے میں واقعی میں نہیں ہے کہ کچھ اعداد یہ بھی سب کو سمجھنے، لیکن دائیں طرف کے طریقہ، بعض GPS نقاط طول بلد اور عرض بلد. یہ بہت اچھا ہے میں سے ایک ہے کیونکہ Google Maps کے API کی خصوصیات پتہ لگانے کے لئے کی صلاحیت ہے آپ کو جغرافیائی کہاں ہیں GPS کے نقاط کی شرائط میں. اب ہم کس طرح کرنے کے اعداد و شمار کرنے شروع کرتے ہیں ایک دوسرے کے ساتھ ان چیزوں کو باندھنے شروع کر دیں. ہم آپ کو ایک پوری دیا ہے تقسیم کے کوڈ کے گروپ، اس کے ساتھ ساتھ ایس کیو ایل ڈیٹا بیس کے طور. میں ھیںچو اصل میں، اگر ایک phpMyAdmin کے اندوز پہلے سے ہی درآمد کیا، آپ کو جلد ہی کے طور پر، pset8.SQL، آپ کو ایک ایس کیو ایل ٹیبل دیکھیں گے کہ اس طرح لگ رہا، ایک شناختی میدان، ملک کوڈ، پوسٹل کوڈ، جگہ کا نام اور زیادہ. ان میں سے سب کی اقسام کالم میں صرف ماخوذ readme.text پڑھنے کی طرف سے وضاحت کی ہے کہ یہاں فائل ایک کھیت میں ایک عدد صحیح ہے یا نہیں، یا varchar کے یا جیسے. تو ہم نے اس کی میز کے لئے پیدا کیا ہے آپ اور آپ SQL حکم دیتا دی کہ پیدا کرنے کے لئے پر عمل کرنے کی آپ اپنے ڈیٹا بیس میں ٹیبل، لیکن ابھی تک اصل میں اس میں کوئی اعداد و شمار نہیں ہے. بلکہ، آپ کی ضرورت کے لئے جا رہے ہیں us.zip لوڈ کرنے یا کسی بھی ملک کی زپ کہ یو آر ایل سے فائل. اور پھر آپ کو لکھنے کے لئے کی ضرورت کے لئے جا رہے ہیں ہے کہ پی ایچ پی میں ایک کمانڈ لائن اسکرپٹ کہ متن کھولنے جا ، اگر فائل نو لائنوں پر iterate، اور پھر ہر ایک کے لئے ان لائنوں ایک داخل کرتے اس کی میز مقامات میں آپ ایس کیو ایل ڈیٹا بیس میں. اس عمل کے آخر میں، تمہیں میں اتنی بالآخر کہ سکرپٹ ختم کر دیا ہے صرف ایک بار اصول میں. حقیقت میں تو شاید آپ کروں گا اس کا ایک گروپ بار چلانے جبکہ مختلف کیڑے کو ٹھیک کرنے کی کوشش کر. آخر میں، آپ کو ایک کی ضرورت کے لئے جا رہے ہیں ہزاروں کے ساتھ بہت بڑا ڈیٹا بیس جغرافیائی قطاروں کی اور ہزاروں. پھر تم نے اس کی درآمد ڈال کرنے کے لئے جا رہے ہیں اسکرپٹ کو ایک طرف یہ کام کر رہا ہے ایک بار اور آپ کے ڈیٹا بیس اچھا ہے اور درست، اور اس کے بعد آپ اصل پر منتقل کرنے کے لئے جا رہے ہیں میشپ خود عمل درآمد. میشپ ملاحظہ کرنے کے لئے کی جا رہی ہے اس طرح کچھ. mashup.cs50.net میں، ہم ایک عملے کا حل ہے کہ اس طرح کچھ لگتا. بے شک، میں نے اس اخبار پر کلک کریں تو کیمبرج، میسا چوسٹس کے لیے آئکن، آپ ایک کتائی دیکھ لیں گے مختصر طور پر اور پھر آئکن ایک حکم دیا کی فہرست، ایک مضامین کی شق وار فہرست کیمبرج، میسا چوسٹس سے متعلق. میں نے Charlestown پر کلک کریں، میسا چوسٹس، میں نے اس شہر کے لئے ایک ہی نظر آئے گا. اور میں پر کلک کریں Watertown، میسا چوسٹس، کوئی بھی وہاں نہیں ہو سکتا Watertown سے کی خبر، لہذا آپ کو کسی چیز کو دیکھ لیں گے سست خبر دن کی طرح. اب، اس دوران، سب سے اوپر بائیں میں ہیں کچھ واقف Google Maps کے کنٹرولز ، پین تم باہر زوم کرنے کے لئے اپ، نیچے، بائیں، اور صحیح، بلکہ ہم وہاں ڈال دیا کہ ایک تلاش کے باکس. تو میں نے واضح طور سے، کے لئے تلاش کریں، میں جانتا ہوں کہ صرف دوسرے زپ کوڈ، 90210، ہم اصل میں نظر آئے گا بیورلی ہلز، کیلی فورنیا. جب کلک کیا اس کی طرف جاتا ہے کیلی فورنیا اور ایک مکمل جھوبڈ بیورلی ہلز کے بارے میں خبر کی. اب وہاں کیا ہوا تھا، بھی، محسوس کریں. یہاں تک 02138 یا اس کے لئے میں نے اس وقت اگر سرچ کیمبرج کوما میسا چوسٹس یا کچھ ویرینٹ اس کے، آپ کو ایک حاصل چھوٹی سی خود تکمیل لٹکتا. اب یہ ایک پلگ ان استعمال کر رہا ہے jQuery کے نام سے ایک لائبریری کے لئے، اور یہ کہ پلگ ان Typeahead یہ بھی کہا جاتا ہے. ہم صرف کے ذریعے پڑھیں دستاویزات، جے ایس مربوط فائل ڈاؤن لوڈ تقسیم کے کوڈ میں تو آپ کو اس بالآخر کوڈ لکھ سکتے ہیں آٹو کے ساتھ کہ ڈراپ ڈاؤن مینو برتا انتخابات کو یا آٹو تجاویز. اب تقسیم کوڈ، اگرچہ، کہ آپ تقریبا زیادہ سے زیادہ نہیں کیا کرنا ہے موصول ہوئی. آپ گوگل کا نقشہ سرایت حاصل، اور آپ، سب سے اوپر بائیں کنٹرولز حاصل اور آپ کو تلاش کے باکس حاصل. لیکن میں کی طرح کچھ ٹائپ کریں 02138، کوئی جگہوں ابھی تک پائے جاتے ہیں. تو ہے کہ ہونے جا رہا ہے یہاں ہمارے اہداف میں سے ایک. اس کے علاوہ، آپ ایک قدم لے تو واپس اور نقشے خود پر نظر ڈالیں، کوئی جو کچھ خبر ہے. میں پر کلک کریں یہاں تک کہ اگر اور ڈریگ، اصل میں کوئی مارکر کہ ہے کیونکہ خبر کے لئے ظاہر ہوتے ہیں چیلنج کے طور پر اچھی طرح سے آپ کے لئے چھوڑ دیا جاتا ہے. کے اس وقت ایک نظر ڈالیں تقسیم کوڈ میں. آپ ڈاؤن لوڈ کیا ہے ایک بار pset8.zip اور یہ unzipped ہے آپ کے vhost کے ڈائریکٹری میں CS50 آلات میں، اگر آپ ان کو دیکھ لیں گے یہاں اندر ڈائریکٹریز. عام طور پر کے لئے کھڑا ہے Bin-- کارکردگی قابل پروگراموں کے لئے بائنری pset7 کے میں کے طور پر، بھی شامل ہے، کچھ پی ایچ پی دیگر فائلیں شامل ہیں کہ فائلوں، ہے جو اس کے بعد عوامی، ضرورت ہے کہ فائلوں عوامی سطح پر قابل رسائی ہونا ایک براؤزر کے ساتھ ایک صارف کو. چلو میں ایک نظر ڈالیں بن ڈائریکٹری، اور ہم کریں گے ایک فائل ہے کہ وہاں دیکھیں پہلے سے ہی درآمد وہاں فون کیا. ہم gedit کے ساتھ اس کھولتے ہیں تو، ہم دیکھیں گے کہ، بدقسمتی سے، زیادہ نہیں ہے وہاں. اگرچہ، یہ ہے کہ وہاں سب کو، سب سے اوپر ایک shebang کی ہے جس میں جو وضاحت اس معاملے میں interpreter-- PHP-- اصل میں کرنے کے لئے استعمال کیا جانا چاہئے اس فائل کو پھانسی. لیکن اس وقت یہ کہنا ہے کہ جہاں تم ہو کہاں TODO ہے کچھ کوڈ لکھنے کی ضرورت کے لئے جا کہ شاید تشکیل کی ضرورت ہوتی ہے ڈائریکٹری شامل میں ہے کہ فائل ہم پی ایچ پی فائلوں سے پہلے کیا ہے کے طور پر. اور پھر آپ کے لئے جا رہے ہیں کسی نہ کسی طرح کھولنے کے لئے ہے us.text جس سے آپ کو شاید پہلے سے ہی unzipped ہے کیا ہے. اس کے بعد آپ کی ضرورت کے لئے جا رہے ہیں اس فائل میں لائنوں پر iterate، شاید افعال میں سے کچھ کا استعمال کرتے ہوئے رپورٹ میں تجویز پیش کی. پھر ان میں سے ہر ایک کے داخل ایس کیو ایل ڈیٹا بیس میں لائنوں استفسار تقریب، کا استعمال کرتے ہوئے کی طرف سے ہے جس ہم پھر with-- آپ کی فراہم کردہ یا کم از کم ایک مختلف اس functions.php میں، جس میں ہم صرف ایک لمحے میں نظر آئے گا. اب کی درآمد بند کرنے اور واپس جانے دو ہماری ڈائرکٹری اور اس وقت میں جانا شامل ہیں. میں وہاں LS کرتے ہیں، آپ کو نظر آئے گا بہت مسئلہ سیٹ 7 کی طرح تین فائلوں. اور ایک فوری نظر ڈالیں، مثال کے طور پر، config.php کے اوپر. وہاں میں، کم لائنوں مقابلے سے پہلے، اور یہ اس فائل بھی شامل ہے ایسا لگتا ہے constants.php اور functions.php. ہم ایک تھوڑا سا مختلف استعمال کر رہے ہیں ٹیکنالوجی کا اصل میں اس بار ان فائلوں کے رشتہ دار ہیں کی وضاحت موجودہ ڈائریکٹری __ DIR__ کی نمائندگی کرتا ہے جو کچھ بھی ڈائریکٹری اس فائل، config.php کے، میں ہی ہے. تو یہ ایک زیادہ ہے وضاحت کا واضح طریقہ آپ کی ضرورت ہوتی چاہتے ہیں دوسرے کیا فائلوں. اب میں اس فائل کو بند اور اگر بجائے constants.php کو کھولنے، آپ کو بہت یاد تازہ ہے ایک فائل نظر آئے گا کو مسئلہ 7 مرتب کی اس کے ساتھ ساتھ، سہی pset8 نامی ایک مختلف ڈیٹا بیس کے ساتھ. آخر میں، functions.php میں، ہم صرف ایک تقریب میں نظر آئے گا استفسار کہا جاتا ہے اس وقت. یہ ہم سنبھال علاوہ تقریبا ایک ہی ہے ایک تھوڑا سا کے ارد گرد غلطیوں کے اس وقت مختلف طریقے سے، لیکن یہ استعمال ہے ہے مسئلہ میں کے طور پر ہی سات مقرر. اب ہمارے pset8 میں واپس جانے ڈائریکٹری، پبلک میں جانے، اور وہاں میں میں LS کرتے ہیں، آپ کو this-- دیکھ لیں گے articles.php، ہے index.html، search.php، اور تمام فائلوں update.php--. اور پھر سی ایس ایس فونٹ، IMG، اور بہت pset7 کے مانند جے ایس ڈائریکٹری. کے میں ایک نظر ڈالیں ہے جس سے index.html، واقعی ہونے جا رہا smashup کے داخلی مرکز. اب index.html میں، آپ کو ایک مکمل نظر آئے گا سر میں لنک عناصر کے گروپ، خاص طور پر، ہمارے اپنے لئے بوٹسٹریپ کے لئے اسکرپٹ کی ایک پوری چڑھانے کے بعد کیا سی ایس ایس نقشے، API طرح چیزوں کے لئے ٹیگز خود، لیبل کے ساتھ ایک خصوصی مارکر ہم میں ذکر کیا افادیت ہے کہ تصریح، آپ کو دستیاب ہے jQuery کی خود، بوٹسٹریپ خود، اور ایک اور لائبریری کہا جاتا کشید جس میں ہم رپورٹ میں کے بارے میں بات کرتے ہیں. jquery.js طرح Underscore.js ایک جاوا لائبریری ہے کہ فعالیت کی ایک پوری چڑھانے ہے کہ ورلڈ وش میں لوگوں کی ایک بہت جاوا اسکرپٹ اپنے آپ میں موجود ہے. تو ان میں سے سب ہیں اصل میں بہت مقبول. ہم نے بھی Typeahead یہ ذکر کیا ہے لائبریری ہے کہ جس میں کرتا ہے کہ خود تکمیل ڈراپ ڈاؤن اور آخر ہمارے اپنے کو جاوا اسکرپٹ کا ایک لنک. دریں اثنا، اور شاید شکر ہے، اس میشپ نسبتا بہت کم ذریعے کارفرما ہے یہاں نیچے سے نیچے دیئے گئے HTML. ہم ایک div میں مخصوص کیا ہے کہ نوٹس کلاس کنٹینر سیال کی ہمارے جسم. یہ، فی بوٹسٹریپ کے دستاویزات، صرف اس div کو بھرنے کے لئے کی جا رہی ہے کا مطلب ہے کہ ویوپورٹ یا مکمل طور پر براؤزر کی کھڑکی کے. دریں اثنا، اس کے نیچے ہم ایک div ہے کہ کھولا اور فوری طور پر بند کر دیا ہے نقشہ کا کینوس کی منفرد شناخت کے ساتھ. یہ اب گوگل کی طرف سے ہے نقشہ جات دستاویزات اس API، کے لئے، جس کے تحت میں نے صرف کرنے کی ضرورت ہے ، انجیکشن، جس میں ایک خالی DIV ہے بالآخر، ایک حقیقی گوگل نقشہ جات. لیکن صرف تھوڑا سا میں اس پر مزید معلومات. آخر میں، ایک شکل نہیں ہے یہاں کے اندر، جس متن باکس میں اوپر بائیں لاگو کرتی ہے تلاش کے لئے ہمارے انٹرفیس میں. ہم نے استعمال کیا ہے کہ نوٹس بوٹسٹریپ کا تھوڑا سا یہاں کی طرح چیزوں too-- فارم کی ان لائن اور فارم کے گروپ. ہم سابق دی ہے فارم کی منفرد ID. اور پھر، بالآخر، میں اصل میں ہے بہت واقف ہے ایک ان پٹ جس قسم کے،، (ق) جن کی آئی ڈی. صرف ایک کنونشن. استفسار ہو سکتا ہے کے لئے Q کچھ بھی بلایا گیا. اور پھر پلیس ہولڈر، دریں اثناء، شہر، ریاست ہے، اور ڈاک کا کوڈ آپ کو یاد کر سکتے ہیں، جس میں ڈیمو پہلے ہماری میشپ میں دیکھ کر. اس فائل کو بند کرتے ہیں. اب پی ایچ پی فائلوں پر ایک نظر ڈالیں کہ انتظار ہے اور پھر جاوا اسکرپٹ فائلوں. ہمارے پی ایچ پی فائلوں میں، ہم نے پہلے سے ہی آپ کے لئے لاگو کیا، مثال کے طور پر، اپ ڈیٹس. ہم نے ایک بہت بڑا خرچ نہیں کریں گے Update.php-- ایک مختصر میں یہاں پر وقت کی رقم فائل ہے کہ ہماری جاوا سکرپٹ کے کوڈ کی جا رہی ہے AJAX کے ذریعے رابطہ کرنے کے لئے کہ ہے کہ اتلیکالک تکنیک ہے کہ ان دنوں جاوا اسکرپٹ میں تعمیر ہم سے update.php پوچھیں کرنے کے لئے اجازت دینے جا رہا مزید معلومات کے لئے. خاص طور پر، کسی بھی وقت صارف کے نقشہ کھینچ لیتا یا چھلانگ کہ کسی کی تلاش انجام دیتا ہے کسی اور مقام پر صارف، ہمارے جاوا سکرپٹ کے کوڈ، ہم جلد ہی دیکھیں گے کے طور پر، ہے update.php فون کرنے جا اور 10 یا اس مارکر کے لئے سے دعا گو ہیں ویوپورٹ کے اندر کی بنیاد پر GPS کے نقاط پر اوپر اور نیچے کی اس نقشے کے کونے کونے. اس کے بعد ہم اب اس نقشے repopulate سکتے ہیں صارف ترتیب میں اسکرین منتقل کر دیا گیا 10 شاید نئے دیکھنے کے لئے مختلف شہروں کے لئے مارکر. دریں اثنا، اس فائل کو بالآخر ہے ایک SQL سوال پر عمل کرنے جا ہمارے ڈیٹا بیس خلاف میز کہا جاتا جگہوں پر جو ان لوگوں کو واپس جا رہا ہے 10 یا اس سے کم کے مقامات. دریں اثنا، articles.php میں، ایک اور مثال ہے ہم اس کی مکمل لکھا ہے دائر. یہ روح میں بہت ہی ہے مسئلہ 7 مرتب کی تلاش تقریب، جو آپ کے لئے Yahoo کے خزانہ سے رابطہ کیا. اس فائل رابطوں گوگل خبریں آپ کے لئے، بالآخر پکڑ ایک مشینی پڑھنے کے قابل version-- کچھ میں خبر کا آر ایس ایس format-- بلایا کیمبرج یا بیورلی ہلز کے لئے یا جو بھی شہر آپ تلاش کر لیا ہے کے لئے کہ geoparameter کی بنیاد پر. ہم صرف ایک ہے جو کہ آر ایس ایس، تجزیہ XML نامی مارکاپ زبان کی قسم، اور اس کے بعد ہم اصل آپ کے براؤزر کی اسے واپس اور آپ جاوا سکرپٹ کے کوڈ کو، خاص طور پر، ایک کی شکل میں ملاقات کی JSON، جاوا اسکرپٹ آبجیکٹ سنکیتن. اب آپ میں دیکھ لیں گے specification-- ہم آپ کی طرف اشارہ آپ اصل میں دیکھ سکتے ہیں کہ کس طرح میں JSON آنے back-- میں سے کچھ کہ اس فعالیت انجام کار آپ کو تو ان لوگوں کو پاپ اپ مینو آباد کی اجازت دیتا ہے آپ پر کلک کریں جب کہ نقشے میں ایک مارکر پر آپ نے واقعی ایک مکمل جھوبڈ دیکھیں گولیوں کی، جن میں سے ہر ایک مضمون کے لنکس. اب ہم آخری ایک پر ایک نظر ڈالیں خوش قسمتی سے، جو نہیں کرتا ہے پی ایچ پی فائل بہت کچھ ہے ہو رہا صرف ایک بہت بڑا TODO. ابھی اس فائل کو منانے کا اعلان ایک سرنی کے مقامات کو بلایا. اور پھر بالآخر پرنٹس JSON format-- میں اس صف صرف اس لئے کہ یہ بہت پرنٹنگ چیزوں ڈیبگ کرنے کے لئے آسان ہیں. بدقسمتی سے، میں مڈل اس TODO ہے، آپ کو تلاش کرنے کے لئے جس میں بلاتا ہے ملاپ کے مقامات کے لئے ڈیٹا بیس ایک جیو HTTP پیرامیٹر. اور، یقینا، اس لئے جا رہی ہے آپ challenges-- میں سے ایک ہونا یہاں اس فعالیت کو لاگو کرنے تاکہ ہم آپ کے ساتھ اس فائل رابطہ کرتے وقت تلاش کی طرح ایک یو آر ایل. پی ایچ پی کی؟ جغرافیائی = کچھ اور، آپ کے کوڈ کو بالآخر ایک JSON واپس آ جائیں گے میں مقامات کے تمام کے صف آپ کہ ان پٹ سے ملنے والے ڈیٹا بیس کی میز. ، کیمبرج میں صارف کی اقسام اگر ایسا ہے تو یہاں آپ کی فائل search.php بالآخر ایک JSON سرنی واپس آ جانا چاہئے کیمبرج کے لئے میچ کی سب کے لئے، میسا چوسٹس میں ہو سکتا ہے جس لیکن اس سے بھی کہیں اور ہو سکتا ہے. آخر میں، کے دو پر ایک نظر ڈالیں ہیں جامد ultimately-- ہیں کہ فائلوں آپ سی ایس ایس فائل اور آپ کو جاوا اسکرپٹ فائل. میں نے اپنی سی ایس ایس ڈائریکٹری میں جانا ہے تو، فائلوں کی ایک پوری چڑھانے، وہاں وہاں ہے اور ان میں اکثر لائبریریوں ہیں. میں نے ایک نظر لینے کے لئے جا رہا ہوں، خاص طور پر، styles.css پر، جس میں ہے کہ ہمارے اپنے عالمی CSS ہے اس پورے میشپ stylize کی جا رہی. آپ کے ذریعے پڑھنے کے لئے کرنے کے لئے میں نے اس کو چھوڑ دیں گے تبصرے کے ساتھ ساتھ، لیکن، مختصر میں، یہ کہ یقینی بناتا ہے کہ سی ایس ایس ہے ہماری میشپ، باہر باکس کے ڈیفالٹ کی طرف سے، ہم اسے چاہتے بالکل جس طرح لگ رہا ہے نقطہ نظر بندرگاہ بھرنے نقشہ کے ساتھ اور تلاش کے ساتھ سب سے اوپر بائیں میں اپ باکس. ہم نے بھی کی آزادی لیا ہے کہ Typeahead لٹکتا stylizing کی مینو میں تھوڑا سا اس کے ساتھ ساتھ. سب سے اہم فائل شاید اس مسئلے کے سیٹ کے لئے یہ گزشتہ ایک، scripts.js ہے. آپ کے جے ایس ڈائریکٹری کے اندر اس سے بھی زیادہ فائلوں ہے. ان میں سے سب لائبریری فائلوں ہیں یہ ایک کے لئے سوائے، scripts.js. ہم اس کو کھولتے ہیں تو، چلو لینے دو ہمارے افعال کے ذریعے حتمی دورے کہ اس فائل میں تعمیر کر رہے ہیں آپ اور کال کی توجہ کے لئے آگے جھوٹ انسائکلوپیڈیا کرنے. اس فائل کے سب سے اوپر، تین عالمی متغیر ہیں. جا رہا ہے جس پر ایک نقشہ، کے لئے ایک ہمارے گوگل نقشہ پر ایک حوالہ ہو. آپ اس کے بارے میں سوچ سکتا قسم کی ایک پوائنٹر کے طور پر. دریں اثناء، ہم ہیں ایک اور عالمی متغیر یہ ہو سکتا ہے جس میں کہا جاتا معلومات، ایک کال کی واپسی کی قیمت ذخیرہ کرنے نیا google.maps.InfoWindow کرنے. جاوا اسکرپٹ اشیاء حمایت کرتا ہے جس struts کے روح میں بہت ملتے جلتے ہیں. اور کیا اس لائن کے لیے ہمارے مقاصد کیا کر رہا ہے ایک نئی معلومات پیدا کر رہا ہے پھر میموری اور میں کھڑکی ایک حوالہ کے ارد گرد کو مدنظر رکھتے ہوئے انفارمیشن نامی ایک متغیر میں اس پر. اور ان لوگوں کے درمیان میں، دریں اثنا، ظاہر ہوتا ہے کیا ایک خالی جاوا اسکرپٹ کا بننا سرنی مارکر بلایا. ان لوگوں کو اخبار شبیہیں کے تمام، یا آپ کو مکمل طور پر ایک آئکن منتخب کر سکتے ہیں، ذخیرہ کیا جائے جا رہے ہیں بالآخر اس صف میں ہم بہت آسانی سے شامل کر سکتے ہیں تاکہ نقشہ اور نقشے سے ان کو ختم کر. اب ہم ذیل میں سکرال ایک تھوڑا سا اور whiz ہے ہونے جا رہا ہے کہ کوڈ کے ذریعے ڈوم یا دستاویز کے طور پر ہی پھانسی دے دی آبجیکٹ ماڈل یا صفحے خود تیار ہے. اس نحو کو یاد ہوگا کہ یہاں صرف متعین کرتا مندرجہ ذیل کوڈ کہ صرف چلایا جائے چاہئے براؤزر فارغ ہو تو باقی سب کو لوڈ. ہم سب سے پہلے ایک اعلان شیلیوں کے پورے گچرچھی، stylizing کی ختم یہ تھی رپورٹ کے مطابق نقشہ. اس کے بعد ہم نے ایک اعلان اختیارات کی مکمل جھوبڈ، مزید گوگل اپنی مرضی کے مطابق جس میں ہم یمبیڈ کرنے کے بارے میں ہیں کہ نقشہ. اس کے بعد ہم، jQuery کوڈ کا تھوڑا سا استعمال جس میں تھوڑا سا مزید تفصیل سے بیان کی گئی ہے رپورٹ میں، قبضہ کرنے کے لئے اس عنصر، نقشہ کے کینوس ہم اتنے منفرد شناخت کی ہے کہ. اور پھر اس لائن یہاں ہے کیا ایسا لگتا ہے جادوئی ہمیں دینے کے لئے کے اندر ایک گوگل نقشہ ہماری اپنی درخواست، ایک حوالہ (مذہب) کو ذخیرہ کرنے اس متغیر بلایا نقشے میں. آخر میں، نیچے ہم یہاں رجسٹر کیا ایک سامع کہا جاتا ہے. back-- راستہ، راستے میں سوچنا CS50 میں ہفتے صفر back-- ہم نے شروع میں دیکھا اور جب چہل قدمی کے ذریعے اس کی حمایت نامی چیزوں کے لئے کے ذریعے واقعات اور نشریات. آپ نے استعمال ہی نہیں سکتا ہے یہ اپنے آپ کو، لیکن یہ بات ہے ایک نظام جس کے تحت ایک اس صورت میں براؤزر یہ بات ہے جب ہماری توجہ حاصل کر سکتے ہیں اصل میں کچھ کوڈ پر عمل کرنے کے لئے تیار. اس صورت میں، یہ سننے کے لئے جا رہا ہے بیکار نامی تقریب کے نقشے پر. یہ براؤزر کا مطلب ہے کہ گوگل نقشہ لوڈ ہوجانے. اس مرحلے پر ایک تقریب میں بلایا ترتیب دینا چاہیے بالآخر پھانسی دے دی جائے. اس تقریب، ترتیب دے، ہم نے کی لکھا ہے، کو نظر آئے گا. اب یہاں نیچے ایک تقریب ہے کہ، بدقسمتی سے، صرف ایک TODO شامل مارکر ہے. رپورٹ کے مطابق. کی آپ کو ضرورت کے لئے جا رہے ہیں کہ اصل میں کوڈ لکھنے کے لئے ایسا لگتا ہے کہ آیا ایک marker-- کا اضافہ کر دیتی ایک اخبار، یا ایک انگوٹھے سمت طرح، یا کچھ اور گوگل کے نقشہ پر else--. یہاں اب اس تقریب ہے ترتیب دیں پر بلایا. آپ کو پڑھنے کے لئے میں چھوڑ دیں گے مزید تفصیل سے اس کے ذریعے، لیکن ہم شامل احساس ہے کہ ایک گروپ میں زیادہ سامعین جب ہم کوڈ پر عمل کر سکتے ہیں تاکہ صارف پر کلک کرتا ہے اور نقشہ کھینچ لیتا. ہم نے بھی یہاں ہے کہ میں کوڈ ہے کہ Typeahead پلگ ان initializes ہے کہ اتنی لٹکتا مینو اصل میں کام کرتا. لیکن صرف ایک پر توجہ مرکوز کرتے ہیں اس کے ساتھ ساتھ جگہوں میں سے جوڑے. خاص طور پر، یہ یہاں کیا کرنے. میں نے آن لائن کو ملتوی کریں گے دستاویزات اور تصریح کے لئے کس طرح اس TODO میں بھرنے کے لئے. لیکن ایک مختصر میں، اس لائبریری Typeahead یہ آپ کو منتقل کرنے کی اجازت دیتا ہے عام طور پر ایک سانچے کے طور پر جانا جاتا ہے میں، کچھ متغیر جگہ دار ہے جس میں printf کی٪ تک روح میں بہت ہی. * ے. لیکن اس معاملے میں، رپورٹ کے مطابق ٹیمپلیٹ آپ کی وضاحت کرنے کی اجازت دیتا کیا متغیر آپ چاہتے ہیں آ گیا ہے کہ اعداد و شمار سے انجیکشن واپس پی ایچ پی کی طرح کچھ سے آپ نے لکھا ہے کہ فائلوں کہ JSON پیداوار نکل رہی کر رہے ہیں. اب نیچے ہم یہاں ہیں احساس Typeahead یہ انتخاب کے لئے سن جب صارف اصل کا انعقاد ایک تلاش اور ایک قدر منتخب کرتا ہے. یہ ہم اصل میں ہیں کہ کس طرح ہے کہ سننے کے لئے جا اور اس کے نتیجے کے طور پر کچھ کوڈ کو پھانسی. پھر ہم ترتیب دینے کے لئے جاری رکھیں میشپ صرف تھوڑا سا. اور، بالآخر، ہم پر کال کریں اس تقریب کے اپ ڈیٹ. یہ سکرین پر مارکر اپ ڈیٹس. صرف ایک لمحے میں اس پر مزید. دریں اثنا، چند ایک نہیں ہے یہاں میں چھوٹے افعال. جن میں سے ایک hideInfo ہے جو محض infowindow ہے بند کر دیتا ہے. یہاں ایک اور تقریب، جس میں بالآخر بہت طویل نہیں ہو گا، مارکر نکال دیں. کہ کالعدم جا رہا ہے جو کچھ بھی اپنی اضافہ مارکر تقریب کرتا ہے. اور پھر یہاں نیچے تلاش ہے. اور یہ ایک دلچسپ ہے کیونکہ ہم ہے کہ جاوا سکرپٹ کے کوڈ میں لکھا ہے پر search.php سے بات کرنے جا سرور اور کچھ کے جواب واپس حاصل. تم، کورس کے، اب بھی ہو جائے گا search.php لاگو کرنے کے لئے کی ضرورت ہے، لیکن ہم کو لاگو کیا ہے ہے کہ جاوا سکرپٹ کے کوڈ کارکردگی کا مظاہرہ کر اصل سنبھال جا اس متن باکس سے تلاش کرتا. خاص طور پر، نوٹس میں کہ یہاں اس تقریب، تلاش کے، search.php کو فون کرتا کے نام سے ایک طریقہ کی طرف سے ہم درس میں دیکھا جس JSON، ملے. اور یہاں نحو تھوڑا مختلف ہے اس میں لیکچر سے ہم استعمال کر رہے ہیں jQuery کے وعدے انٹرفیس نام نہاد. رپورٹ میں اس پر مزید. یہ صرف ہمارے لئے کا مطلب اب کہ وہاں کے مقاصد دو خصوصی افعال ہیں ہم ڈاٹ سنکیتن کے ساتھ فون کرنے کی ضرورت یہاں فوری طور پر JSON حاصل بلا کے بعد. ایک کیا کہا جاتا ہے. کہا جاتا ہے میں سے ایک ناکام. اگر آپ ان کے بارے میں سوچ کر سکتے ہیں کامیابی کے ہینڈلر کے طور پر اور ناکامی کے ہینڈلر نے صرف اگر کچھ غلط ہو جاتا ہے. اب کی آخری کو دیکھو اس فائل میں افعال میں سے جوڑے. یہاں نیچے ایک تقریب ہے کہا جاتا showInfo، جس میں ان لوگوں میں سے ایک میں معلومات سے پتہ چلتا ہے بہت کم معلومات کھڑکیوں کہ صارف ایک مارکر پر کلک کرتا ہے جب ٹمٹمانے. یہاں نیچے مزید ہے کہ اپ ڈیٹ تقریب کہ ہم آپ کے لئے لاگو کیا ہے. اس نقشہ کی حد نہیں کا تعین کرتا ہے. کے GPS کے نقاط کیا ہیں اس کے شمال مشرق اور یہاں جنوب مغربی کونے کونے. ہم نے کچھ HDP پیرامیٹرز بنائی ہے یہاں اور پھر بالآخر انہیں منظور ہم گئی ہو، update.php کرنے بھی آپ کے لئے لاگو کیا. کہ آخر میں کچھ JSON واپس ہو جاتا ہے فائل update.php نامی سے اور پھر کسی بھی ہٹا دیتا ہے سکرین پر مارکر اور پھر ختم ہو iterates واپس آیا ہے کہ اعداد و شمار update.php، جس ایک بار پھر صرف ایک JSON سرنی ہے. اور پھر یہ بالآخر ایک مارکر کے لئے اضافہ کر دیتی ہے ان جگہوں میں سے ہر ایک، سامان ہینڈل کرنے میں ناکامی یا جن کو شاید یہ غلطیاں بہت اچھی طرح سے ہو. اب صرف آپ آپ کو کس طرح کا ایک ذائقہ دینے کے لئے اس منصوبے کو ٹھیک کرنے کے بارے میں جا سکتا ہے، میں اندر کھول دیا ہے کہ احساس اس یو آر ایل کے لئے یہاں اس ٹیب کو آگے بڑھانے، pset8 / articles.php؟ جغرافیائی = 02138. کے بارے میں اب، ایک بار پھر، مضامین پی ایچ پی میں ہم آپ کے لئے لاگو لہذا یہ اتنا نہیں ہے آپ استعمال ہو گا کیا ڈیبگ، بلکہ تکنیک. میں نے کے لئے تلاش کر لیا ہے کہ نوٹس یہاں کیمبرج کا 'زپ کوڈ، اور میں نے ایک JSON، یقینا، واپس ہو گیا ہے JSON کی صف ہے جس کے اندر اشیاء دو keys-- لنک اور عنوان ہیں. تو کیا یہ فعالیت آپ کے لئے پہلے سے ہی کام کرتا ہے. لیکن دستی کے اس ٹیکنالوجی جا کسی چیز کے لئے اس طرح ایک یو آر ایل پر طرح search.php؟ جغرافیائی = کیمبرج یا 02138 یا صارف چاہئے میں ٹائپ ہے جو کچھ بھی آپ، اپنے آپ کو، کوشش کے طور پر انمول ثابت معلوم کرنا بالکل وہی ہے یا کیوں search.php کام کرنے والے یا نہیں ہے. بالآخر اس کے بعد، آپ کو کرنا پڑے آگے آپ کے چند انسائکلوپیڈیا. آپ سب سے پہلے لاگو کرنے جا رہے ہیں کہ درآمدی اسکرپٹ کہ آپ کے ڈیٹا بیس میں us.text میں پڑھتا. اس کے بعد آپ کی ضرورت کے لئے جا رہے ہیں search.php لاگو کرنے کے لئے مخصوص طور پر یہ بالکل برتاؤ کرتی ہے تا کہ. اس کے بعد آپ چاہتے ہیں کے لئے جا رہے ہیں scripts.js پر توجہ مرکوز کرنا اور بالآخر لاگو کرتی ہے انسائکلوپیڈیا میں سے ان لوگوں کے جوڑے، ترتیب دیں پر کے لئے بھی شامل اور اس سانچے، ، مارکر مارکر ہٹا دیں، اور پھر آخری، لیکن نہیں کم از کم، ایک سے ذاتی رابطے. آپ کو آپ کے کام کرنے میشپ ہے ایک بار ہاتھ میں بالکل ہماری طرح، مقصد آپ کو ایک ذاتی شامل کرنے کے لئے ہے آپ میشپ کو چھو، یہ جمالیاتی یا فعال ہے یا نہیں. کبھی تو میشپ لے لو قدرے اگلے سطح پر. جب تک کہ آپ اس سے آگے اپنے آپ کو دھکا کے طور پر رپورٹ خود کے ساتھ اپنی شناسائی اور ایک تکنیک لینے نیا، یہ بات ہے بھی اگر صرف کچھ تبدیل طرح جمالیاتی آپ استعمال کر رہے اس نقشے کی ترتیب، ہم امید کرتے ہیں کہ دائرہ کار مطمئن کیا جائے گا. کہ اس وقت مسئلہ سیٹ 8 میشپ ہے. میں زیادہ سے زیادہ کے لئے دیکھتے رہو تصریح اور نیک تمنائیں اس سے نمٹنے، آپ کی آخری CS50 مسئلہ کبھی مقرر. [موسیقی بجانے]