מזהי מקומות

בחירת פלטפורמה: Android iOS JavaScript שירות אינטרנט

המזהה הייחודי של מקום במסד הנתונים של כתובות ב-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