במאמר הזה מפורטות שאלות נפוצות שקשורות ספציפית ל-Geocoding API. עיינו בשאלות הנפוצות על Google Maps Platform לקבלת תשובות לשאלות שרלוונטיות לכל Google Maps Platform. כדאי לעיין גם במאמר שיטות מומלצות להמרת כתובות לקואורדינטות (geocoding) של כתובות.
פתרון בעיות
- אני מקבל יותר שאילתות שמחזירות את הערך ZERO_RESULTS בכלי להמרת כתובות לקואורדינטות (geocoder). מה הבעיה?
- אני צריך תגובות מהירות, והכלי להמרת כתובות לקואורדינטות איטי מדי בשביל האפליקציה שלי. איך אפשר לקבל תשובות מהירות יותר?
- איך אפשר לצמצם את זמן האחזור ב-Directions API (דור קודם) וב-Distance Matrix API (דור קודם)?
- איך מדווחים על באגים בכלי להמרת כתובות לקואורדינטות (geocoder)?
- הגיאוקודר לא מפיק תוצאות טובות לתרחיש השימוש שלי. יש עם מי לדבר?
- איך מקבלים את התוצאות הכי טובות עם הכלי להמרת כתובות לקואורדינטות (geocoder) באמצעות סינון רכיבים?
פתרון בעיות
- אני מקבל יותר שאילתות שמחזירות ZERO_RESULTS עם הגיאוקודר. מה הבעיה?
-
בכלי להמרת כתובות לקואורדינטות (geocoder), סביר להניח שייווצר הערך ZERO_RESULTS עבור שאילתות לא חד-משמעיות, לא מלאות או בפורמט לא תקין, כמו: כתובות עם שגיאות כתיב או כתובות שלא קיימות. אם לא ניתן למצוא את הכתובת, עדיף להחזיר ZERO_RESULTS מאשר תוצאה חלקית (לדוגמה, להחזיר רק את הפרבר במקום כתובת).
אם האפליקציה שלכם מתמודדת עם קלט של משתמשים של כתובות, יכול להיות שתקבלו תוצאות באיכות טובה יותר באמצעות התכונה השלמה אוטומטית למקומות ב-Places API. השלמה אוטומטית למקומות מאפשרת למשתמשים לבחור מתוך קבוצת תוצאות על סמך מה שהם הקלידו. כך הם יכולים לבחור בין תוצאות עם שמות דומים, ולשנות את השאילתה אם הם טעו בכתיבת הכתובת.
אם יש לכם אפליקציה שמתמודדת עם שאילתות לא ברורות או לא מלאות, או עם שאילתות שעשויות להכיל שגיאות, מומלץ להשתמש בתכונה השלמה אוטומטית למקומות ב-Places API, ולא בגיאוקודר הישיר שזמין ב-Geocoding API. פרטים נוספים זמינים במאמר בנושא שיטות מומלצות לגיאו-קידוד של כתובות ובפוסט בבלוג בנושא גיאו-קידוד של כתובות בממשקי Google Maps API.
- אני צריך תגובות מהירות, והגיאוקודר איטי מדי בשביל האפליקציה שלי. איך אפשר לקבל תשובות מהירות יותר?
-
באפליקציות שמגיבות לקלט של משתמשים, ולכן רגישות מאוד לזמן אחזור, מומלץ להשתמש בתכונה השלמה אוטומטית למקומות ב-Places API (זמינה גם ב-JavaScript, ב-Android או ב-iOS) במקום בהמרת כתובות לקואורדינטות. ההשלמה האוטומטית למקומות מותאמת לשימוש אינטראקטיבי, ולכן זמן האחזור שלה קצר מאוד.
ההמרה לקואורדינטות של כתובות ב-Geocoding API מותאמת לשימוש בכתובות מלאות, חד-משמעיות ובפורמט תקין, כמו כתובות למשלוח שמוזנות לטפסים דיגיטליים. לכן, זמן הטעינה שלה גבוה יותר מזה של השלמה אוטומטית למקומות. לגיאו-קודר הישיר יש כיסוי רחב יותר ואיכות תוצאות טובה יותר, אבל זמן האחזור שלו קצת יותר ארוך.
- איך אפשר לצמצם את זמן האחזור ב-Directions API (גרסה קודמת) וב-Distance Matrix API (גרסה קודמת)?
-
במקום כתובות, השתמשו במזהי מקומות כדי לציין נקודות דרך, נקודת מוצא ויעד. הדרך הכי טובה לקבל מזהי מקומות היא באמצעות התכונה השלמה אוטומטית למקומות ב-Places API או ספריית המקומות ב-Maps JavaScript API. אפשר גם לעיין במידע על האפשרות
placeIdOnly, שבעזרתה אפשר להקטין את העלות של השלמה אוטומטית למקומות.כששולחים שאילתה ל-Directions API (הגרסה הקודמת) או ל-Distance Matrix API (הגרסה הקודמה) עם מחרוזת כתובת במקום מזהה מקום או קואורדינטות של קו רוחב וקו אורך, הם משתמשים באותו קצה עורפי כמו Geocoding API כדי להמיר את הכתובת הזו למזהה מקום לפני חישוב המסלול. ההשלמה האוטומטית למקומות מהירה יותר מגיאו-קידוד של כתובות. באפליקציות שמשתמשות ב-Directions API (מדור קודם) או ב-Distance Matrix API (מדור קודם) במצבים שבהם השהייה היא קריטית, כמו תגובה לקלט של משתמשים, מומלץ להשתמש בהשלמה אוטומטית למקומות כדי לקבל את מזהי המקומות שמתאימים לכתובות האלה, ולהעביר את מזהי המקומות ל-Directions API (מדור קודם) או ל-Distance Matrix API (מדור קודם). הגישה הזו מקצרת באופן משמעותי את זמן האחזור. אפשר לראות דוגמה לשימוש ב-השלמה אוטומטית למקומות עם הוראות הגעה במאמרי עזרה.
- איך מדווחים על באגים בכלי להמרת כתובות לקואורדינטות (geocoder)?
-
אם יש לכם דיווחים על באגים או בקשות להוספת תכונות לשירות הגיאוקודינג הישיר, אתם יכולים להשתמש באתר הציבורי למעקב אחר בעיות כדי ליידע אותנו.
- הכלי להמרת כתובות לקואורדינטות (geocoder) לא מפיק תוצאות טובות לתרחיש השימוש שלי. יש עם מי לדבר?
-
אפשר לשתף איתנו כמה שאילתות ספציפיות באמצעות Issue Tracker ציבורי, כדי שנוכל לבדוק אם יש באגים או בעיות מערכתיות שגורמות לבעיות באיכות התוצאות, או אם יש שינויים שאפשר לבצע במדריך לשיטות מומלצות כדי לעזור למפתחים לקבל תוצאות טובות יותר.
- איך מקבלים את התוצאות הכי טובות עם כלי להמרת כתובות לקואורדינטות (geocoder) באמצעות סינון רכיבים?
-
בכלי להמרת כתובות לקואורדינטות (geocoder), סינון הרכיבים אוכף רק את ההגבלות
postal_codeו-country. בדוגמאות הבאות מוסבר איך הכי טוב להשתמש בסינון רכיבים, בהתאם לתוצאות שאתם צריכים. בכתובות ה-URL של הבקשות לדוגמה, חשוב להחליף את הערך `YOUR_API_KEY` במפתח ה-API שלכם.- כדי להגביל את המיקוד למדינה ספציפית, צריך לציין את הגבלות לפי מדינה באמצעות קוד מדינה לפי תקן ISO 3166-2.
לדוגמה:
הפקודה
components=country:CH|postal_code:8000מחזירה את הערך '8000 Zürich, Switzerland'.https://maps.googleapis.com/maps/api/geocode/json?components=country:CH%7Cpostal_code:8000&key=YOUR_API_KEY - כדי להגביל את השאילתות למדינה ספציפית, צריך לציין את הגבלות לפי מדינה באמצעות קוד מדינה לפי תקן ISO 3166-2. יכול להיות ששמות של מדינות וקיצורים אחרים לא יניבו את אותן תוצאות כמו קודי מדינות.
דוגמאות:
- המרת הכתובת
components=country:FRA|locality:gallusלקואורדינטות מחזירה את השכונה Gallus בפרנקפורט, גרמניה. הסיבה לכך היא שקוד המדינה בן 3 האותיות של צרפת (FRA) לא נתמך, ולכן מותרות תוצאות בכל מדינה, והתוצאה בפרנקפורט מתאימה יותר מכל תוצאה בצרפת.https://maps.googleapis.com/maps/api/geocode/json?components=country:FRA%7Clocality:gallus&key=YOUR_API_KEY
- המרת הכתובת
- יכול להיות ש-Geocoding API לא יחזיר כמה תוצאות לשאילתות לא חד-משמעיות. השלמה אוטומטית למקומות מתאימה יותר לשאילתות כאלה.
דוגמאות:
- המרת הכתובת לקואורדינטות של
components=country:US|locality:madridמחזירה את הערך "Madrid, NM 87010, USA", אבל לא את הערים האחרות בארה"ב שנקראות "Madrid".https://maps.googleapis.com/maps/api/geocode/json?components=country:US%7Clocality:madrid&key=YOUR_API_KEY - אם משתמשים בהשלמה אוטומטית למקומות עבור
input=madrid&components=country:us&types=(regions), ומציינים גם אזור תצוגה באמצעותlocationו-radiusכדי להטות את תוצאות המיקום, נוצרת תגובה עם כמה ערים בארה"ב שנקראות "Madrid".https://maps.googleapis.com/maps/api/place/autocomplete/json?location=37.386052,-122.083851&radius=10000&input=madrid&components=country:us&types=(regions)&key=YOUR_API_KEY
- המרת הכתובת לקואורדינטות של
- כדי להגביל את המיקוד למדינה ספציפית, צריך לציין את הגבלות לפי מדינה באמצעות קוד מדינה לפי תקן ISO 3166-2.
לדוגמה:
הפקודה