שיטות מומלצות לשימוש בכתובות URL לקידוד גיאוגרפי

גיאוקוד הוא תהליך המרה של כתובות (כמו כתובת רחוב) לקואורדינטות גיאוגרפיות (קווי רוחב ואורך) שאפשר להשתמש בהן כדי להציב סמנים במפה או למקם את המפה. המסמך הזה מתמקד בהבהרת השיקולים שצריך לקחת בחשבון כשממירים כתובות לקואורדינטות גיאוגרפיות. מוסבר מתי הכי כדאי להשתמש ב-Geocoding API ומתי כדאי להשתמש בשירות Places API Place Autocomplete.

באופן כללי, מומלץ להשתמש ב-Geocoding API כשמבצעים קידוד גיאוגרפי של כתובות מלאות (לדוגמה, '48 Pirrama Rd, Pyrmont, NSW, Australia'). מומלץ להשתמש בשירות ההשלמה האוטומטית של מקומות ב-Places API כשמבצעים קידוד גאוגרפי של כתובות לא ברורות (לא מלאות), או באפליקציות שרגישות לזמן אחזור, למשל כשמשיבים להזנה של משתמשים.

תרחישים לדוגמה והמלצות ל-API

תרחישים לדוגמה והמלצות ל-API
תגובה בזמן אמת להזנת משתמש (כולל כתובות שהמשתמש הזין עם שגיאות איות, כתובות לא ברורות, כתובות חלקיות או כתובות בפורמט שגוי) משתמשים בשירות ההשלמה האוטומטית של מקומות ב-Places API כדי לקבל מזהה מקום, ואז ב-Geocoding API כדי לבצע קידוד גיאוגרפי של מזהה המקום ל-latlng.
מערכות אוטומטיות שמעבדות כתובות מלאות, ברורות ומדויקות (לדוגמה, '48 Pirrama Rd, Pyrmont, NSW, Australia') שימוש בשירות האינטרנט של Geocoding API.
מערכות אוטומטיות שמטפלות בשאילתות לא ברורות (לדוגמה, כתובות חלקיות, כתובות עם פורמט שגוי או כתובות עם שגיאות איות) מומלץ להשתמש בשירות האינטרנט של Geocoding API במערכות אוטומטיות. עם זאת, במערכות אוטומטיות עם שיעור גבוה של שאילתות לא ברורות, חלקיות או עם שגיאות איות שנובעות מהקלדה של משתמשים, כדאי להוסיף ווידג'ט אינטראקטיבי של השלמה אוטומטית של מקומות כדי לאפשר למשתמשים לבחור תוצאה וכך למנוע שגיאות איות בכתובות.
בעיות זמן אחזור בשימוש ב-Directions API או ב-Distance Matrix API, כאשר המקור, היעד או נקודות הציון צוינו כמחרוזות כתובות כדי לקצר את זמן האחזור של הקידוד הגיאוגרפי, אפשר להשתמש בשירות ההשלמה האוטומטית של מקומות ב-Places API כדי לקבל מזהי מקומות, ולאחר מכן להעביר את מזהי המקומות ל-Directions API או ל-Distance Matrix API.

תגובה להזנת משתמש

באפליקציות שמגיבות בזמן אמת להזנת משתמשים יש שני שיקולים עיקריים שמשפיעים על בחירת ה-API:

  1. בדרך כלל, הקלט של המשתמש כולל הזנת כתובת באופן הדרגתי (למשל, 'רחוב ראשי 123'), ולכן היכולת לבצע גיאוקוד של כתובות חלקיות או לא ברורות היא יתרון, כי היא מאפשרת למשתמש לקבל תוצאה מהר יותר.
  2. אפליקציות שמגיבות לקלט של משתמשים רגישות מאוד לזמן אחזור.

שני השיקולים האלה הופכים את השירות של ההשלמה האוטומטית למקומות ב-Places API לאידיאלי לתרחיש לדוגמה של תגובה לקלט של משתמש. התכונה 'השלמה אוטומטית של מקומות' נועדה להציג כמה אפשרויות אפשריות ולאפשר למשתמש לבחור מביניהם. אפשר להגביל את Places API לחיפוש רק כתובות או קואורדינטות גיאוגרפיות, ולהחריג עסקים. בנוסף, ייתכן שפונקציית החיפוש של ההשלמה האוטומטית תהיה מוטה כדי להציג תוצאות ספציפיות למיקום מסוים. ה-API של מפות Google מחזיר מזהה מקום שאפשר להעביר כמיקום ללא סתירה לשירות האינטרנט של Geocoding API, שמחזיר את פרטי הכתובת המלאים ומקודד את הכתובת לקווי אורך ורוחב. אפשר גם להעביר את מזהי המקומות לממשקי API אחרים, כמו Directions API ו-Distance Matrix API (ראו בהמשך).

לצורך עיבוד כתובות ב-Geocoding API יש זמן אחזור ארוך יותר, והוא גם מניב תוצאות פחות מדויקות לשאילתות חלקיות או לא ברורות. לכן, לא מומלץ להשתמש בו באפליקציות שצריכות להגיב בזמן אמת לקלט של המשתמשים.

מידע נוסף על השירות 'השלמה אוטומטית למקומות' זמין עבור Android,‏ iOS,‏ JavaScript ו- Places API.

מערכות אוטומטיות

מערכות אוטומטיות שמטפלות בכתובות מלאות, לא חד-משמעיות, למשל כתובות רחוב: שאילתות לא חד-משמעיות, כמו מחרוזות מלאות של כתובות רחוב (לדוגמה, '48 Pirrama Rd, Pyrmont, NSW, Australia'), מטופלות בצורה הטובה ביותר על ידי שירות האינטרנט של Geocoding API. הקצה העורפי של המיפוי הגיאוגרפי של כתובות מספק כיסוי רחב יותר של כתובות ברחבי העולם, והוא מותאם להשגת תוצאות באיכות גבוהה באמצעות שאילתות מלאות וברורות מהסוג הזה.

עיבוד אוטומטי של שאילתות לא ברורות: שאילתות לא ברורות הן שאילתות שמכילות כתובות בפורמט שגוי, כתובות חלקיות או שגיאות איות. במערכות אוטומטיות, מומלץ להשתמש ב שירות האינטרנט של Geocoding API. עם זאת, ה-Geocoding API לא מיועד לטיפול בשאילתות לא ברורות, ויכול להיות שהוא יניב תוצאות פחות מדויקות או אפס תוצאות בתגובה לשאילתות לא ברורות. אם המערכת האוטומטית שלכם מעבדת כמות גבוהה של שאילתות לא ברורות שמתקבלות מהקלדה של משתמשים, כדאי להוסיף לאפליקציה רכיב אינטראקטיבי באמצעות השירות של השלמה אוטומטית של מקומות ב-Places API, כי הוא מיועד להציג כמה אפשרויות אפשריות ולאפשר למשתמש לבחור מביניהם. ממשק Places API מחזיר מזהה מקום שאפשר להעביר כמיקום מפורט ללא סתירה לשירות האינטרנט של Geocoding API, שמחזיר את פרטי הכתובת המלאים וממיר את הכתובת לקואורדינטות (latlng). מידע נוסף על השירות 'השלמה אוטומטית למקומות' זמין עבור Android,‏ iOS,‏ JavaScript ו- Places API.

הפחתת זמן האחזור של Directions API ו-Distance Matrix API

כשמגדירים את נקודות המוצא, היעד או נקודות הציון כמחרוזות של כתובות, Directions API ו- Distance Matrix API משתמשים באותו קצה עורפי כמו Geocoding API כדי לבצע גיאוקוד של הכתובות האלה לפני חישוב המסלול. הפעולה הזו מגדילה באופן משמעותי את זמן האחזור בהשוואה לציון אותם מיקומים כקואורדינטות או כמזהי מקומות.

אם האפליקציה שלכם משתמשת ב-Directions API או ב-Distance Matrix API במצב שבו זמן האחזור קריטי, למשל בתגובה לקלט של משתמש, והמקור, היעד או נקודות הציון צוינו בהתחלה כמחרוזות כתובות, מומלץ לצמצם את זמן האחזור באמצעות השירות 'השלמה אוטומטית למקומות' של Places API כדי להמיר מחרוזות כתובות למזהי מקומות, ולאחר מכן להעביר את מזהי המקומות ל-Directions API או ל-Distance Matrix API. מידע נוסף על השירות 'השלמה אוטומטית למקומות' זמין ל-Android, ל-iOS, ל-JavaScript ול- Places API. אפשר גם לעיין בדוגמה של JavaScript להשלמה אוטומטית של מקומות ומסלולי הגעה.

סיכום

בהתאם לתרחיש לדוגמה, כשמבצעים גיאוקודינג של כתובות, שימוש ב-Geocoding API או בשירות Place Autocomplete בשילוב עם Geocoding API מאפשר ליצור אפליקציות שמציעות למשתמשים תוצאות גיאוקודינג מדויקות וזמן אחזור קצר יותר.

ניהול שגיאות וניסיונות חוזרים

אם מקבלים תגובות מסוג UNKNOWN_ERROR, הן נובעות משגיאות זמניות, והפתרון הטוב ביותר הוא לנסות שוב לאחר השהיה קצרה. מומלץ להשתמש ב ספריות הלקוח של שירותי האינטרנט של פלטפורמת מפות Google, שכוללות לוגיקה של ניסיונות חוזרים ותומכות באימות של תוכנית Premium של פלטפורמת מפות Google. הלקוח ב-Java,‏ הלקוח ב-Python,‏ הלקוח ב-Go והלקוח ב-Node.js של שירותי מפות Google הן ספריות לקוח שנתמכות על ידי הקהילה, שזמינות להורדה ולתרומות ב-GitHub. ב-GitHub תוכלו למצוא גם הוראות התקנה וקוד לדוגמה.

אם התקבל קוד הסטטוס OVER_QUERY_LIMIT בתגובה, סימן שחרגתם ממגבלות השימוש ב-API. מומלץ לנסות את אסטרטגיות האופטימיזציה של השימוש הבאות.