מזהי מקומות

בחירת פלטפורמה: Android iOS JavaScript Web Service
מפתחים באזור הכלכלי האירופי (EEA)

מבוא

מזהה מקום הוא המזהה הייחודי של מקום במסד הנתונים של "מקומות Google" ובמפות Google. אפשר להשתמש במזהי מקומות בבקשות לממשקי ה-API הבאים של מפות Google:

  • אחזור כתובת של מזהה מקום ב-Geocoding API ובשירות המרת הכתובות לקואורדינטות (geocoding), Maps JavaScript API.
  • ציון נקודת המוצא, היעד ונקודות ציון בדרך ב-Routes API, ב-Directions API (הגרסה הקודמת), בשירות המסלולים וב-Maps JavaScript API (הגרסה הקודמת).
  • ציון נקודות מוצא ויעדים ב-Routes API, ב-Distance Matrix API (דור קודם) ובשירות מטריצת מרחקים, Maps JavaScript API (דור קודם).
  • אחזור Place Details ב-Places API (חדש), ב-Places SDK ל-Android (חדש), ב-Places SDK ל-iOS (חדש) ובספריית המקומות.
  • שימוש בפרמטרים של מזהה מקום ב-Maps Embed API.
  • אחזור של שאילתות חיפוש בכתובות URL של מפות Google.
  • הצגת מגבלות המהירות ב-Roads API.
  • חיפוש פוליגונים של גבולות ועיצוב שלהם בסגנון מבוסס-נתונים לגבולות.

איך למצוא מזהה של מקום מסוים

מחפשים מזהה מקום של מקום ספציפי? אפשר להשתמש בכלי לחיפוש מזהה מקום שמופיע בהמשך כדי לחפש מקום ולקבל את המזהה שלו:

לחלופין, אתם יכולים לצפות בכלי לאיתור מזהי מקומות עם הקוד שלו במסמכי התיעוד של Maps JavaScript API.

איך מוצאים מזהי מקומות באמצעות קוד או סוכן AI

הכלי לאיתור מזהה מקום מחפש מקום אחד בכל פעם בדפדפן. כדי לחפש מזהי מקומות מאפליקציה, מסקריפט או מסוכן AI, צריך לשלוח קריאה ל-API:

סקירה כללית

מזהה מקום הוא מזהה טקסטואלי שמזהה מקום באופן ייחודי. האורך של המזהה יכול להשתנות (אין אורך מקסימלי למזהי מקומות). דוגמאות:

  • ChIJgUbEo8cfqokR5lP9_Wh_DaM
  • GhIJQWDl0CIeQUARxks3icF8U8A
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0EiGhIYChQKEgnRTo6ixx-qiRHo_bbmkCm7ZRAN
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0E
  • IhoSGAoUChIJ0U6OoscfqokR6P225pApu2UQDQ

מזהי מקומות זמינים לרוב המיקומים, כולל עסקים, ציוני דרך, פארקים וצמתים. יכול להיות שלאותו מקום או מיקום יהיו כמה מזהי מקומות שונים. מזהי המקומות עשויים להשתנות עם הזמן.

אפשר להשתמש באותו מזהה מקום ב-Places API ובמספר ממשקי API של Google Maps Platform. לדוגמה, אפשר להשתמש באותו מזהה מקום כדי להפנות למקום ב-Places API, ב-Maps JavaScript API, ב-Geocoding API, ב-Maps Embed API וב-Roads API.

אחזור פרטי מקום באמצעות מזהה המקום

דרך נפוצה להשתמש במזהי מקומות היא לחפש מקום באמצעות Places API או ספריית המקומות ב-Maps JavaScript API. לאחר מכן, משתמשים במזהה המקום שמוחזר כדי לאחזר את פרטי המקום. אפשר לאחסן את מזהה המקום ולהשתמש בו כדי לאחזר את אותם פרטי מקום מאוחר יותר. בהמשך המסמך מוסבר איך לשמור מזהי מקומות.

בדוגמאות הבאות מוסבר איך לבקש כתובת URL של סמל ב-Places API (חדש) וב-Places API (דור קודם).

Places API (חדש)

באמצעות Places API, אתם יכולים למצוא מזהה מקום על ידי שליחת בקשה של חיפוש טקסט (חדש).

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.id,places.displayName,places.formattedAddress' \
'https://places.googleapis.com/v1/places:searchText'

התשובה כוללת מזהה מקום בשדה id, כמו שמוצג בהמשך:

{
  "places": [
    {
      "id": "ChIJs5ydyTiuEmsR0fRSlU0C7k0",
      "formattedAddress": "29 King St, Sydney NSW 2000, Australia",
      "displayName": {
        "text": "Peace Harmony",
        "languageCode": "en"
      }
    },
  ...
}

עכשיו אפשר לשלוח בקשה של פרטי מקום (חדש) על ידי הכללת מזהה המקום בכתובת ה-URL של הבקשה:

https://places.googleapis.com/v1/places/ChIJs5ydyTiuEmsR0fRSlU0C7k0?fields=id,displayName&key=API_KEY

Places API (הגרסה הקודמת)

באמצעות Places API, אפשר למצוא מזהה מקום על ידי שליחת בקשה של חיפוש מקומות.

בדוגמה הבאה מוצגת בקשת חיפוש של מקומות מסוג "מסעדה" ברדיוס של 1,500 מטרים מנקודה בסידני, אוסטרליה, שמכילים את המילה "cruise":

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=1500&type=restaurant&keyword=cruise&key=YOUR_API_KEY

התשובה כוללת מזהה מקום בשדה place_id, כמו שמוצג בקטע הקוד הבא:

{
  "html_attributions" : [],
  "results" : [
    {
      "geometry" : {
        "location" : {
          "lat" : -33.870775,
          "lng" : 151.199025
        }
      },
      ...
      "place_id" : "ChIJrTLr-GyuEmsRBfy61i59si0",
      ...
    }
  ],
  "status" : "OK"
}

עכשיו אפשר לשלוח בקשה לפרטי מקום (גרסה קודמת), ולהזין את מזהה המקום בפרמטר place_id:

https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJrTLr-GyuEmsRBfy61i59si0&key=YOUR_API_KEY

שמירת מזהי מקומות לשימוש מאוחר יותר

מזהי מקומות פטורים מהגבלות השמירה במטמון שמפורטות בסעיף 3.2.3(b) בתנאים ובהגבלות של Google Maps Platform. לכן, אתם יכולים לאחסן ערכים של מזהי מקומות לשימוש מאוחר יותר.

רענון מזהי המקומות השמורים

מזהי המקומות עשויים להשתנות בגלל עדכונים במסד הנתונים של מפות Google, ולכן Google ממליצה לרענן את מזהי המקומות אם הם בני יותר מ-12 חודשים. אפשר לרענן את מזהי המקומות בחינם על ידי שליחת בקשה לפרטי מקום, וציון רק של השדה של מזהה המקום בפרמטר fields.

Places API (חדש)

לדוגמה, באמצעות פרטי מקום (חדש):

https://places.googleapis.com/v1/places/ChIJ05IRjKHxEQ0RJLV_5NLdK2w?fields=id&key=API_KEY

Places API (הגרסה הקודמת)

לדוגמה, באמצעות Places API (מדור קודם):

https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJ05IRjKHxEQ0RJLV_5NLdK2w&fields=place_id&key=API_KEY

הקריאה הזו מפעילה את המק"ט Place Detail New Essentials IDs Only או Places Details - ID Refresh.

קודי שגיאה כשמשתמשים במזהי מקומות

INVALID_REQUEST

קוד הסטטוס INVALID_REQUEST מציין שמזהה המקום שצוין לא תקין. יכול להיות שיוחזר הערך INVALID_REQUEST אם מזהה המקום נחתך או שונה באופן אחר, והוא כבר לא נכון.

NOT_FOUND

קוד הסטטוס NOT_FOUND מציין שמזהה המקום שצוין מיושן. מזהה מקום יכול להפוך למיושן אם העסק נסגר או עובר למיקום חדש. מזהי מקומות יכולים להשתנות גם בגלל עדכונים במסד הנתונים של מפות Google. במקרים כאלה, יכול להיות שהמקום יקבל מזהה מקום חדש, ומזהה המקום הישן יחזיר את התגובה NOT_FOUND.

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

סוגים מסוימים של מזהי מקומות עלולים לפעמים לגרום לתגובה NOT_FOUND, או שה-API עשוי להחזיר מזהה מקום אחר בתגובה. סוגי מזהי המקומות האלה כוללים:

  • כתובות שלא קיימות במפות Google ככתובות מדויקות, אבל מוסקות מטווח של כתובות.
  • קטעים של מסלול ארוך, שבהם הבקשה מציינת גם עיר או יישוב.
  • צמתים.
  • מקומות עם רכיב כתובת מסוג subpremise.

המזהים האלה הם בדרך כלל מחרוזת ארוכה (אין אורך מקסימלי למזהי מקומות). לדוגמה:

EpID4LC14LC_4LCo4LCv4LGN4LCo4LCX4LCw4LGNIC0g4LC44LGI4LCm4LGN4LCs4LC-4LCm4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSAmIOCwteCwv-CwqOCwr-CxjSDgsKjgsJfgsLDgsY0g4LCu4LGG4LCv4LC_4LCo4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSwg4LC14LC_4LCo4LCv4LGNIOCwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwsuCwleCxjeCwt-CxjeCwruCwv-CwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwuOCwsOCxguCwsOCxjSDgsKjgsJfgsLDgsY0g4LC14LGG4LC44LGN4LCf4LGNLCDgsLjgsK_gsYDgsKbgsL7gsKzgsL7gsKbgsY0sIOCwueCxiOCwpuCwsOCwvuCwrOCwvuCwpuCxjSwg4LCk4LGG4LCy4LCC4LCX4LC-4LCjIDUwMDA1OSwg4LCt4LC-4LCw4LCk4LCm4LGH4LC24LCCImYiZAoUChIJ31l5uGWYyzsR9zY2qk9lDiASFAoSCd9ZebhlmMs7Efc2NqpPZQ4gGhQKEglDz61OZpjLOxHgDJCFY-o1qBoUChIJi37TW2-YyzsRr_uv50r7tdEiCg1MwFcKFS_dyy4