25-07-2013, 06:25
|
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
|
|
חבר מתאריך: 25.10.01
הודעות: 42,775
|
|
למיטב ידיעתי שתי השערותך הראשונות, נכונות. מה שאין לך מושג מה הוא עושה - הוא המרקר עצמו. אתה בעצם מייצר אובייקט בסביבה של Maps, בנקודות קו אורך וקו רוחב מסויים. אתה משתמש בקו אורך וקו רוחב שצויינו בתוך אובייקט מיקום (בחלק הראשון של הקוד), ואומר על איזה מפה בדף [הרי יכולה להיות יותר מאחת...] אתה מעוניין להוסיף את המרקר הזה (על ידי ציון אובייקט המפה הרלוונטי). אתה גם מציין מה שם הנקודה, באמצעות title.
החלק האחרון זה מה שמאתחל את כל הקוד: הוא בעצם שם "האזנה" לאירועים המתרחשים בדפדפן ברינדור הדף (מבחינה טכנית: ה DOM) - והוא מוסיף טריגר לאירוע load (שפירושו שהדף נטען לחלוטין - אסביר בהמשך למה דווקא כך) - כך שכשהוא יקרה - אז ירוץ כל הקוד של גוגל.
למה כשהדף מסיים להטען? הסיבה פשוטה. כי אם הקוד שלך הולך ומחליף תוכן של div-ים במקומות שונים בדף - אתה רוצה להיות בטוח שה div-ים האלה כבר קיימים כשהקוד מתחיל לרוץ... ואם הדף טרם סיים להטען כולו, אזי ייתכן שדווקא ה div שבו אנחנו רוצים לשים מה שאנחנו רוצים לשים - עוד לא קיים - ותהיה שגיאה אם ננסה...
אם אתה רוצה להוסיף עשרה מרקרים, אתה צריך לחזור 10 פעמים על קטע הקוד הראשון והשלישי - כמובן עם שמות שונים כדי שלא ידרסו אחד את השני. כלומר myLatlng1, myLatlng2 וכו', ו marker1, marker2 וכו'.
אשר לאיך אתה יודע מה קו האורך והרוחב של נקודה - אתה פשוט יכול לעמוד עליה ב Google Maps, ללחוץ על כפתור ימני, ולבחור באפשרות Center Map Here. לאחר מכן, אם תלחץ על כפתור ה Permanent Link (סימן של חוליה של שרשרת) - תקבל קישור קבוע למפה, שנקודת המרכז שלה היא המקום שעליו לחצת, שהוא בעצם המקום שאתה רוצה. הקישור הזה יכיל את קואורדינטות קו האורך והרוחב של הנקודה המבוקשת.
לחלופין, אתה יכול לסמן נקודות פשוט על ידי חיפוש כתובת - באמצעות פיצ'ר שנקרא Geocoding. יש דוגמא כאן: https://developers.google.com/maps/...ng-simple?csw=1 למשהו שלוקח כתובת מטופס בדף, ומוצא אותה במפה. אבל כתובות הן עסק בעייתי, באופן כללי. לסמן נקודה מדוייקת במרחב על פי קו אורך ורוחב זה משהו מדעי ומוחלט, שלא תלוי בגורמי מיפוי ישראליים... ואני ממליץ לך, אם אתה יכול, לנקוב בנקודות על פי מיקומן הפיזי על כדור הארץ.
|