המזהה הייחודי של מקום במסד הנתונים של כתובות ב-Google ובמפות Google. מזהי מקומות מאושרות בבקשות לממשקי ה-API הבאים של מפות Google:
- אחזור כתובת למזהה מקום בשירות האינטרנט Geocoding API שירות המרת כתובות לקואורדינטות (geocoding) , Maps JavaScript API.
- ציון נקודות מוצא, יעד וציוני דרך ברמת הביניים Routes API ו-Directions API שירות אינטרנט ו-Directions Service (שירות מסלולים), Maps JavaScript API.
- ציון מקורות ויעדים ב-Routes API וגם שירות האינטרנט של Distance Matrix API וגם שירות מטריצת מרחק, Maps JavaScript API.
- אחזור פרטי מקום בשירות האינטרנט של Places API, SDK של מקומות ל-Android, SDK של מקומות ל-iOS וספריית מקומות.
- שימוש בפרמטרים של מזהה מקום ב-Maps Embed API.
- אחזור שאילתות חיפוש בכתובות URL של מפות Google.
- הצגת מגבלות מהירות ב-Roads API.
- איתור ועיצוב של פוליגונים של גבולות בסגנון מבוסס-נתונים לצורך קביעת גבולות.
איך למצוא את המזהה של מקום ספציפי
רוצה למצוא את מזהה המקום של מקום ספציפי? שימוש במזהה המקום כדי לחפש מקום ולקבל את המזהה שלו:
לחלופין, אפשר צפייה מאתר מזהי המקומות באמצעות הקוד שלו ב-Maps JavaScript API. התיעוד.
סקירה כללית
מזהה מקום הוא מזהה טקסטואלי שמזהה מקום באופן ייחודי. האורך של המזהה עשוי להשתנות (אין אורך מקסימלי למזהי מקומות). דוגמאות:
-
ChIJgUbEo8cfqokR5lP9_Wh_DaM
-
GhIJQWDl0CIeQUARxks3icF8U8A
-
EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0EiGhIYChQKEgnRTo6ixx-qiRHo_bbmkCm7ZRAN
-
EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0E
-
IhoSGAoUChIJ0U6OoscfqokR6P225pApu2UQDQ
מזהי מקומות זמינים לרוב המיקומים, כולל עסקים, ציוני דרך פארקים וצמתים. ייתכן שאותו מקום או מיקום יש כמה מזהי מקומות שונים. מזהי המקומות עשויים להשתנות עם הזמן.
אפשר להשתמש באותו מזהה מקום ב-Places API וב מספר ממשקי ה-API של הפלטפורמה של מפות Google. לדוגמה, אפשר להשתמש באותו מזהה מקום כדי להתייחס למקום Places API, API JavaScript של מפות Google, Geocoding API, API להטמעה של מפות Google ואת Roads API.
אחזור פרטי מקום באמצעות מזהה המקום
אחת הדרכים הנפוצות לשימוש במזהי מקומות היא לחפש מקום (באמצעות Places API) או מקומות ב-Maps JavaScript API, למשל). החזירו מזהה מקום כדי לאחזר את פרטי המקום. אפשר לשמור את מזהה המקום להשתמש בו כדי לאחזר את אותם פרטי מקום מאוחר יותר. מידע על לשמירה של מזהי המקומות שבהמשך.
דוגמה לשימוש ב-Places SDK ל-Android
ב-Place SDK ל-Android אפשר לאחזר את המזהה של מקום על ידי:
שיחות
Place.getId()
שירות השלמה אוטומטית של מקומות
היא גם מחזירה מזהה מקום לכל מקום שתואם לשאילתת החיפוש.
ולסנן. משתמשים במזהה המקום כדי לאחזר את
Place
את האובייקט מאוחר יותר.
כדי לקבל מקום לפי תעודה מזהה, צריך להתקשר
PlacesClient.fetchPlace()
העברת FetchPlaceRequest
.
ה-API מחזיר
FetchPlaceResponse
תוך שימוש
Task
FetchPlaceResponse
מכיל
Place
האובייקט התואם למזהה המקום שסופק.
הקוד לדוגמה הבא מציג קריאה ל-fetchPlace()
אל
לקבל פרטים על המקום שצוין.
Kotlin
// Define a Place ID. val placeId = "INSERT_PLACE_ID_HERE" // Specify the fields to return. val placeFields = listOf(Place.Field.ID, Place.Field.NAME) // Construct a request object, passing the place ID and fields array. val request = FetchPlaceRequest.newInstance(placeId, placeFields) placesClient.fetchPlace(request) .addOnSuccessListener { response: FetchPlaceResponse -> val place = response.place Log.i(PlaceDetailsActivity.TAG, "Place found: ${place.name}") }.addOnFailureListener { exception: Exception -> if (exception is ApiException) { Log.e(TAG, "Place not found: ${exception.message}") val statusCode = exception.statusCode TODO("Handle error with given status code") } }
Java
// Define a Place ID. final String placeId = "INSERT_PLACE_ID_HERE"; // Specify the fields to return. final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME); // Construct a request object, passing the place ID and fields array. final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields); placesClient.fetchPlace(request).addOnSuccessListener((response) -> { Place place = response.getPlace(); Log.i(TAG, "Place found: " + place.getName()); }).addOnFailureListener((exception) -> { if (exception instanceof ApiException) { final ApiException apiException = (ApiException) exception; Log.e(TAG, "Place not found: " + exception.getMessage()); final int statusCode = apiException.getStatusCode(); // TODO: Handle error with given status code. } });
שמירת מזהי מקומות לשימוש במועד מאוחר יותר
מזהי המקומות פטורים מהגבלות השמירה במטמון המפורטות ב סעיף 3.2.3(ב) של התנאים וההגבלות של הפלטפורמה של מפות Google. לכן אפשר לאחסן ערכים של מזהה מקום למועד מאוחר יותר לשימוש.
רענון של מזהי מקומות שמורים
מומלץ לרענן את מזהי המקומות אם הם נוצרו לפני יותר מ-12 חודשים. שלך
כדי לרענן מזהי מקומות ללא תשלום, צריך
בקשה לפרטי מקום,
שמציין רק את Place.Field.ID
בפרמטר fields
.
השיחה הזו מפעילה את
פרטי מקומות – רענון תעודה מזהה
מק"ט.
הבקשה הזו עשויה גם להחזיר את הסטטוס NOT_FOUND
שיטה אחת היא לאחסן את הבקשה המקורית שהחזירה כל מקום.
ID. אם מזהה מקום לא תקף, אפשר להגיש מחדש את הבקשה לעדכון
תוצאות. התוצאות האלה עשויות לכלול את המקום המקורי, אבל לא בהכרח. אבל הבקשה הזאת
לחיוב.
קודי שגיאה לשימוש במזהי מקומות
קוד הסטטוס INVALID_REQUEST
מציין שהמאפיין
מזהה המקום אינו חוקי. ניתן להחזיר INVALID_REQUEST
כאשר
מזהה המקום נחתך או שונה באופן אחר, ואינו נכון יותר.
קוד הסטטוס NOT_FOUND
מציין שמזהה המקום שצוין
מיושנת. מזהה מקום עשוי להפוך למיושן אם עסק נסגר או עובר אל
להוסיף מיקום חדש. מזהי המקומות עשויים להשתנות בעקבות עדכונים נרחבים ב-Google
מסד הנתונים של מפות 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