שיטות מומלצות לשימוש בכתובות 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 (ממשק API מדור קודם) או ל-Distance Matrix API (ממשק 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, שמחזיר את פרטי הכתובת המלאים ומקודד את הכתובת לקווי אורך ורוחב. מידע נוסף על השירות 'השלמה אוטומטית למקומות' זמין ל-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 Client,‏ Python Client,‏ Go Client ו-Node.js Client של שירותי מפות Google הן ספריות לקוח שנתמכות על ידי הקהילה, שזמינות להורדה ולתרומות ב-GitHub. ב-GitHub תוכלו למצוא גם הוראות התקנה וקוד לדוגמה.

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