פיתוח אתר עם מודול OpenLayers - מישהו יכול לעשות סדר לי קצת בבלגן?
את המידע הזה - עיר, רחוב, מספר רחוב, אני צריך להפוך לקווי אורך-רוחב בצורה כלשהי. השאלה היא איך?
אהלן,
אני כרגע מפתח אתר בסגנון אינדקס עסקים (לצורך הענין), מה שאומר שאני רוצה למקם כל עסק על מפה וליצור מפה שבה מוצגים על המפה כל העסקים לפי סינון של views. צריך שמישהו\משיהי יזרקו אותי בכיוון המתאים כי הלכתי לאיבוד.
מבוא קצר:
במהלך היומיים האחרונים קראתי המון חומר בנושא OpenLayers. אני חייב לציין שיש בלגן שלם בכל מה שקשור לדוקומנטציה של המודולים השונים. המון מודולים עושים את אותו הדבר, הרבה מודולים שעברו מדרופל 6 ל-7 השתנו, לפחות ברמת הניסוח והמושגים שבהם משתמשים, אבל הדוק' שלהם נשאר במושגים הישנים.
מה יש לי:
- סוג תוכן בשם "עסק".
- שני מילונים שמקושרים ל"עסק", אחד של ערים\ישובים בישראל ואחד של כל הרחובות בישראל.
-שדה טקסט למספר הבית.
את המידע הזה - עיר, רחוב, מספר רחוב, אני צריך להפוך לקווי אורך-רוחב בצורה כלשהי.
אני יודע שיש מודולים שלוקחים סטרינג ומקשרים אליו מידע של מיקום גיאוגרפי, רק שלא הצלחתי להבין איזה מודולים אני צריך בשביל זה.

טיפה הרחבה על מה כבר
טיפה הרחבה על מה כבר עשיתי:
התקנתי OpenLayers והגדרתי מפה חדשה.
התקנתי Geofield והוספתי לסוג תוכן "עסק" (לא הבנתי איזה תת סוג שאני צריך לתת לו בשביל מה שאני צריך).
התקנתי Geocoder שאמור להיות מה שמחבר בין שדה הכתובת לשדה ה-geofield אבל הוא לא עושה את זה. אין למודול הזה דוקומנטציה ברמת ה-readme (!). זה API ללא דוק'. כלום, גורנישט, נאדה, ניצ'בו.
התקנתי את address field, אבל לא המשכתי איתו כי הוא דורש ZIP CODE ולא כולם יודעים את המיקוד שלהם. זה סתם מקשה על משתמשים ואני לא מבין למה צריך את זה.
התקנתי עכשיו את מודול Location שאמור לעשות בדיוק מה שאני צריך (אם הבנתי נכון) ואני משחק איתו עכשיו.
מסתבר ש-Location לא קשור
מסתבר ש-Location לא קשור ל-OpenLayers ולכן אני מעדיף לא להשתמש בו...
מה שאני כן צריך זה לקחת את המידע מפה:
http://geolocation.forward-media.de/node/add/geolocation-google-maps
ולהזין אותו לשדות של ה-geofield שיצרתי.
נכתב על ידי Sharon.he: מסתבר
מסתבר ש-Location לא קשור ל-OpenLayers ולכן אני מעדיף לא להשתמש בו...
מה שאני כן צריך זה לקחת את המידע מפה:
http://geolocation.forward-media.de/node/add/geolocation-google-maps
ולהזין אותו לשדות של ה-geofield שיצרתי.
נכון, location לא קשור לOpenLayers רק במובן שהם מודולים שונים, אבל יש להם (בערך) מטרה משותפת, כלומר, אפשר לעשות דברים דומים עם שניהם (במיוחד עם דרופל 7).
חיפוש פשוט של drupal openlayers היה מביא אותך למדריכים כמו זה: http://www.istos.it/blog/mapping/openlayers-and-addressfieldis
ורבים אחרים...
בברכה,
מתי
מומחה ג'ומלה | אחסון דרופל
דומיינים למכירה | הכרויות
תודה רבה, כבר עברתי על המדריך
תודה רבה, כבר עברתי על המדריך שקישרת אליו. זה למעשה היה המדירך הראשון שקראתי.
קראתי אותו שוב והבנתי איפה נופלת הטעות שלי כל פעם עם המודול geocode. כל הימים של חוסר ההבנה יכלו להיחסך אם רק הייתה לו טיפה דוקומנטציה, ממש שתי שורות.
בכל מקרה, עכשיו הכל עובד, אבל יש לי בעיה אחרת. המפות של גוגל מופיעות באנגלית במקום בעברית. בעמוד ההגדרות:
admin/structure/openlayers/layers/settings
הגדרתי את ה-Google API key שלי ובשדה השפה הגדרתי hl=iw
לפי הקוד שמופיע כאן: http://sites.google.com/site/tomihasa/google-language-codes
יש סיבה שהשפה לא תעבוד?
תודה
נכתב על ידי Sharon.he: תודה
תודה רבה, כבר עברתי על המדריך שקישרת אליו. זה למעשה היה המדירך הראשון שקראתי.
קראתי אותו שוב והבנתי איפה נופלת הטעות שלי כל פעם עם המודול geocode. כל הימים של חוסר ההבנה יכלו להיחסך אם רק הייתה לו טיפה דוקומנטציה, ממש שתי שורות.
בכל מקרה, עכשיו הכל עובד, אבל יש לי בעיה אחרת. המפות של גוגל מופיעות באנגלית במקום בעברית. בעמוד ההגדרות:
admin/structure/openlayers/layers/settings
הגדרתי את ה-Google API key שלי ובשדה השפה הגדרתי hl=iw
לפי הקוד שמופיע כאן: http://sites.google.com/site/tomihasa/google-language-codes
יש סיבה שהשפה לא תעבוד?
תודה
נסה את המפות של OSM, לפחות רק בשביל לוודא שהכל מוגדר אצלך כמו שצריך...
בברכה,
מתי
מומחה ג'ומלה | אחסון דרופל
דומיינים למכירה | הכרויות
נכתב על ידי mtk: נסה את המפות
נסה את המפות של OSM, לפחות רק בשביל לוודא שהכל מוגדר אצלך כמו שצריך...
תודה רבה.
ניסיתי, הכל עובד כמו שצריך. אין עברית וגם לא הבנתי איך אמורים לגרום לכך שהטולטיפ יעבוד כשלוחצים על נקודה במפה. סימנתי את אופציית הטולטיפ, סימנתי את השכבה שעליה אני רוצה שזה יעבוד והזנתי תוכן בהתאם. עדיין הוא לא מוצג בלחיצה.
מה שכן, השפה הרבה יותר חשובה לי.
נכתב על ידי Sharon.he: תודה
תודה רבה.
ניסיתי, הכל עובד כמו שצריך. אין עברית וגם לא הבנתי איך אמורים לגרום לכך שהטולטיפ יעבוד כשלוחצים על נקודה במפה. סימנתי את אופציית הטולטיפ, סימנתי את השכבה שעליה אני רוצה שזה יעבוד והזנתי תוכן בהתאם. עדיין הוא לא מוצג בלחיצה.
מה שכן, השפה הרבה יותר חשובה לי.
מהנסיון שלי, זה אמור לעבוד ואני לא זוכר שזה דרש כ"כ הרבה התעסקות.
אין לי דרך מתוחכמת לעזור לך מרחוק. תעבור על כל ההגדרות שוב, אולי תמצא את הבעיה...
בברכה,
מתי
מומחה ג'ומלה | אחסון דרופל
דומיינים למכירה | הכרויות
עדכון מצב: התקנתי דרופל 7
עדכון מצב:
התקנתי דרופל 7 מחדש והתקנתי הכל שוב עם כל ההגדרות - עדיין המפות באנגלית. התקנתי דרופל 7 על חשבון אחר באותו שרת, לא שינה כלום. אח"כ התקנתי גם דרופל 6 כדי לבדוק אם אני יכול לעבור ל-6 אבל גם שם הכל באנגלית על אף שהגדרתי ב-API Key את הקוד iw=hl שאמור למשוך מפה בעברית.
אני כבר די מיואש, לא מבין מה אני עושה לא נכון. יכול להיות שזה השרת?
שמח להגיד שפתרתי את הבעיה!!!
שמח להגיד שפתרתי את הבעיה!!! מסתבר שאצלי הכל היה בסדר, המודול עצמו הייתה בעיה בקוד.
מי שיש לו בעיה ולא מצליח להראות עברית צריך לעשות את הצעדים הבאים:
go to openlayer module inner dir:
/sites/all/modules/openlayers/plugins/layer_types
edit file:
openlayers_layer_type_google.inc
around line 141:
change this:
$url .= !empty($lang) ? '&hl=' . $lang : '';
to this:
$url .= !empty($lang) ? '&language=' . $lang : '';
בהצלחה!