Method: computeInsights

Compute Insights RPC

השיטה הזו מאפשרת לאחזר תובנות על אזורים באמצעות מגוון מסננים, כמו: אזור, סוג מקום, סטטוס פעילות, רמת מחיר ודירוגים. בשלב הזה יש תמיכה בתובנות מסוג 'ספירה' ו'מקומות'. בעזרת מדדי 'ספירה' אפשר לענות על שאלות כמו 'כמה מסעדות פועלות בקליפורניה, הן זולות ויש להן דירוג ממוצע של לפחות 4 כוכבים' (פרטים נוספים זמינים במאמר בנושא insight enum). בעזרת התובנות לגבי 'מקומות', אפשר לקבוע אילו מקומות תואמים למסנן המבוקש. לאחר מכן, לקוחות יכולים להשתמש בשמות המשאבים של המקומות האלה כדי לאחזר פרטים נוספים על כל מקום בנפרד באמצעות Places API.

בקשת HTTP

POST https://areainsights.googleapis.com/v1:computeInsights

כתובת ה-URL משתמשת בתחביר של Transcoding של gRPC.

גוף הבקשה

גוף הבקשה מכיל נתונים במבנה הבא:

ייצוג ב-JSON
{
  "insights": [
    enum (Insight)
  ],
  "filter": {
    object (Filter)
  }
}
שדות
insights[]

enum (Insight)

חובה. תובנות לחישוב. בשלב זה יש תמיכה רק ב-INSIGHT_COUNT וב-INSIGHT_PLACES.

filter

object (Filter)

חובה. מסנן תובנות.

גוף התשובה

התגובה של ה-RPC של v1.computeInsights.

אם הפעולה מצליחה, גוף התגובה מכיל נתונים במבנה הבא:

ייצוג ב-JSON
{
  "placeInsights": [
    {
      object (PlaceInsight)
    }
  ],
  "count": string
}
שדות
placeInsights[]

object (PlaceInsight)

התוצאה של Insights.INSIGHT_PLACES.

count

string (int64 format)

התוצאה של Insights.INSIGHT_COUNT.

היקפי הרשאה

נדרש היקף הרשאות OAuth הבא:

  • https://www.googleapis.com/auth/cloud-platform

תובנה

תובנות נתמכות.

טיפוסים בני מנייה (enum)
INSIGHT_UNSPECIFIED לא צוין.
INSIGHT_COUNT

תובנה לגבי ספירה.

כשמציינים את התובנה הזו, הפונקציה v1.computeInsights מחזירה את מספר המקומות שתואמים לקריטריונים של המסנן שצוינו.

For example if the request is:
ComputeInsightsRequest {
  insights: INSIGHT_COUNT
  filter {
    locationFilter {region: <PlaceId of state of CA>}
    typeFilter {includedTypes: "restaurant"}
    operatingStatus: OPERATING_STATUS_OPERATIONAL
    priceLevels: PRICE_LEVEL_FREE
    priceLevels: PRICE_LEVEL_INEXPENSIVE
    minRating: 4.0
  }
}

The method will return the count of restaurants in California that are
operational, with price level free or inexpensive and have an average
rating of at least 4 starts.

Example response:
ComputeInsightsResponse {
  count: <number of places>
}
INSIGHT_PLACES

החזרת מקומות

כשמציינים את התובנה הזו, הפונקציה v1.computeInsights מחזירה מקומות שתואמים לקריטריונים של המסנן שצוינו.

For example if the request is:
ComputeInsightsRequest {
  insights: INSIGHT_PLACES
  filter {
    locationFilter {region: <PlaceId of state of CA>}
    typeFilter {includedTypes: "restaurant"}
    operatingStatus: OPERATING_STATUS_OPERATIONAL
    priceLevels: PRICE_LEVEL_FREE
    priceLevels: PRICE_LEVEL_INEXPENSIVE
    minRating: 4.0
  }
}

The method will return list of places of restaurants in
California that are operational, with price level free or inexpensive and
have an average rating of at least 4 stars.

Example response:
ComputeInsightsResponse {
  placeInsights { place: "places/ABC" }
  placeInsights { place: "places/PQR" }
  placeInsights { place: "places/XYZ" }
}

סינון

מסננים ל-RPC של v1.computeInsights.

ייצוג ב-JSON
{
  "locationFilter": {
    object (LocationFilter)
  },
  "typeFilter": {
    object (TypeFilter)
  },
  "operatingStatus": [
    enum (OperatingStatus)
  ],
  "priceLevels": [
    enum (PriceLevel)
  ],
  "ratingFilter": {
    object (RatingFilter)
  }
}
שדות
locationFilter

object (LocationFilter)

חובה. הגבלת התוצאות למקומות שנמצאים באזור שצוין במסנני המיקום.

typeFilter

object (TypeFilter)

חובה. מסננים לפי סוג מקום.

operatingStatus[]

enum (OperatingStatus)

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

priceLevels[]

enum (PriceLevel)

זה שינוי אופציונלי. הגבלת התוצאות למקומות ברמת המחיר שכלולה ברשימה הזו. אם לא מגדירים את price_level, כל רמות המחירים נכללות בתוצאות.

ratingFilter

object (RatingFilter)

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

LocationFilter

מסנני מיקום.

מציין את אזור העניין של התובנה.

ייצוג ב-JSON
{

  // Union field area can be only one of the following:
  "circle": {
    object (Circle)
  },
  "region": {
    object (Region)
  },
  "customArea": {
    object (CustomArea)
  }
  // End of list of possible types for union field area.
}
שדות
שדה האיחוד area. צריך לציין אחד מהערכים הבאים. הערך של area יכול להיות רק אחת מהאפשרויות הבאות:
circle

object (Circle)

שטח כמעגל.

region

object (Region)

אזור כאזור.

customArea

object (CustomArea)

אזור מותאם אישית שמצוין על ידי פוליגון.

מעגל

מעגל מוגדר על ידי נקודת מרכז ורדיוס במטרים.

ייצוג ב-JSON
{
  "radius": integer,

  // Union field center can be only one of the following:
  "latLng": {
    object (LatLng)
  },
  "place": string
  // End of list of possible types for union field center.
}
שדות
radius

integer

זה שינוי אופציונלי. רדיוס העיגול במטרים

שדה האיחוד center. מרכז המעגל. הערך של center יכול להיות רק אחת מהאפשרויות הבאות:
latLng

object (LatLng)

קו הרוחב וקו האורך של מרכז המעגל.

place

string

שם המשאב של המקום במרכז המעגל. יש תמיכה רק במקומות שהם נקודות.

LatLng

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

ייצוג ב-JSON
{
  "latitude": number,
  "longitude": number
}
שדות
latitude

number

קו הרוחב במעלות. הוא חייב להיות בטווח [-90.0, +90.0].

longitude

number

קו האורך במעלות. הוא חייב להיות בטווח [-180.0, +180.0].

אזור

אזור הוא גבול גיאוגרפי, כמו ערים, אזורי מיקוד, מחוזות, מדינות וכו'.

ייצוג ב-JSON
{

  // Union field region can be only one of the following:
  "place": string
  // End of list of possible types for union field region.
}
שדות
שדה האיחוד region. הגדרת אזור גיאוגרפי. אפשר לציין רק סוג אחד של אזור (למשל מקום) בכל פעם. הערך של region יכול להיות רק אחת מהאפשרויות הבאות:
place

string

המזהה הייחודי של אזור גיאוגרפי ספציפי.

CustomArea

אזור מותאם אישית.

ייצוג ב-JSON
{
  "polygon": {
    object (Polygon)
  }
}
שדות
polygon

object (Polygon)

חובה. האזור המותאם אישית שמוצג כפוליגון

פוליגון

פוליגון מיוצג על ידי סדרה של קואורדינטות מחוברות ברצף בסדר נגד כיוון השעון. הקואורדינטות יוצרות לולאה סגורה ומגדירות אזור מלא. הקואורדינטות הראשונה והאחרונה זהות, והן חייבות להכיל ערכים זהים. הפורמט הוא גרסה פשוטה של פוליגונים של GeoJSON (אנחנו תומכים רק בטבעת חיצונית אחת בכיוון השעון).

ייצוג ב-JSON
{
  "coordinates": [
    {
      object (LatLng)
    }
  ]
}
שדות
coordinates[]

object (LatLng)

זה שינוי אופציונלי. הקואורדינטות שמגדירות את הפוליגון.

TypeFilter

מסננים לפי סוג מקום.

יש תמיכה רק בסוגי המקומות שמפורטים בטבלה א'.

אפשר לשייך למקום רק סוג ראשי אחד. לדוגמה, הסוג הראשי יכול להיות 'mexican_restaurant' או 'steak_house'. אפשר להשתמש ב-includedPrimaryTypes וב-excludedPrimaryTypes כדי לסנן את התוצאות לפי הסוג הראשי של המקום.

למקום יכולים להיות משויכים גם כמה ערכים של סוג. לדוגמה, מסעדה עשויה לכלול את הסוגים הבאים: 'seafood_restaurant',‏ 'restaurant',‏ 'food',‏ 'point_of_interest',‏ 'establishment'. אפשר להשתמש ב-includedTypes וב-excludedTypes כדי לסנן את התוצאות ברשימת הסוגים שמשויכים למקום.

אם מציינים חיפוש עם כמה הגבלות סוג, יוחזרו רק מקומות שעומדים בכל ההגבלות. לדוגמה, אם מציינים את הערכים הבאים: {"includedTypes": ["restaurant"], "excludedPrimaryTypes": ["steak_house"]}, המקומות שיוחזרו מספקים שירותים שקשורים ל'מסעדה', אבל לא פועלים בעיקר בתור 'steak_house'.

אם יש סוגים מתנגשים, כלומר סוג מופיע גם ב-includedTypes וגם ב-excludedTypes או ב-includedPrimaryTypes וגם ב-excludedPrimaryTypes, תוחזר השגיאה INVALID_ARGUMENT.

חובה להגדיר אחד מהשדות includedTypes או includedPrimaryTypes.

ייצוג ב-JSON
{
  "includedTypes": [
    string
  ],
  "excludedTypes": [
    string
  ],
  "includedPrimaryTypes": [
    string
  ],
  "excludedPrimaryTypes": [
    string
  ]
}
שדות
includedTypes[]

string

זה שינוי אופציונלי. סוגי המקומות הכלולים.

excludedTypes[]

string

זה שינוי אופציונלי. סוגי מקומות שהוחרגו.

includedPrimaryTypes[]

string

זה שינוי אופציונלי. סוגי המקומות הראשיים הכלולים.

excludedPrimaryTypes[]

string

זה שינוי אופציונלי. סוגי המיקומים הראשיים שהוחרגו.

OperatingStatus

סטטוס הפעילות של המקום.

טיפוסים בני מנייה (enum)
OPERATING_STATUS_UNSPECIFIED לא צוין.
OPERATING_STATUS_OPERATIONAL המקום פעיל ופתוח במהלך שעות הפעילות שהוגדרו לו.
OPERATING_STATUS_PERMANENTLY_CLOSED המקום לא פעיל יותר.
OPERATING_STATUS_TEMPORARILY_CLOSED המקום סגור באופן זמני וצפוי לפתוח מחדש בעתיד.

PriceLevel

רמת המחירים במקום.

טיפוסים בני מנייה (enum)
PRICE_LEVEL_UNSPECIFIED רמת המחיר של המקום לא צוינה או לא ידועה.
PRICE_LEVEL_FREE המקום מספק שירותים בחינם.
PRICE_LEVEL_INEXPENSIVE המקום מספק שירותים במחירים נמוכים.
PRICE_LEVEL_MODERATE המקום מספק שירותים במחירים סבירים.
PRICE_LEVEL_EXPENSIVE המקום מספק שירותים יקרים.
PRICE_LEVEL_VERY_EXPENSIVE המקום מספק שירותים יקרים מאוד.

RatingFilter

מסננים של דירוג ממוצע של משתמשים.

ייצוג ב-JSON
{
  "minRating": number,
  "maxRating": number
}
שדות
minRating

number

זה שינוי אופציונלי. הגבלת התוצאות למקומות שהדירוג הממוצע שלהם על ידי משתמשים גבוה מ-minRating או שווה לו. הערכים צריכים להיות בין 1.0 ל-5.0.

maxRating

number

זה שינוי אופציונלי. הגבלת התוצאות למקומות שהדירוג הממוצע שלהם על ידי המשתמשים נמוך מ-maxRating או שווה לו. הערכים צריכים להיות בין 1.0 ל-5.0.

PlaceInsight

מכיל מידע על מקום

ייצוג ב-JSON
{
  "place": string
}
שדות
place

string

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