Method: computeInsights

استدعاء إجراء عن بُعد (RPC) في Compute Insights

تتيح لك هذه الطريقة استرداد إحصاءات عن المناطق باستخدام مجموعة متنوعة من الفلاتر، مثل المنطقة ونوع المكان وحالة التشغيل ومستوى السعر والتقييمات. تتوفّر حاليًا إحصاءات "العدد" و "الأماكن". باستخدام إحصاءات "العدد"، يمكنك الإجابة عن أسئلة مثل "كم عدد المطاعم التي تعمل في القاهرة وهي غير مكلفة ومتوسط تقييمها 4 نجوم على الأقل؟" (اطّلِع على insight enum للاطّلاع على مزيد من التفاصيل). باستخدام إحصاءات "الأماكن"، يمكنك تحديد الأماكن التي تتطابق مع الفلتر المطلوب. يمكن للعملاء بعد ذلك استخدام أسماء موارد الأماكن هذه للحصول على مزيد من التفاصيل عن كل مكان فردي باستخدام Places API.

طلب HTTP

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

يستخدِم عنوان URL بنية تحويل ترميز gRPC.

نص الطلب

يحتوي نص الطلب على بيانات بالبنية التالية:

تمثيل JSON
{
  "insights": [
    enum (Insight)
  ],
  "filter": {
    object (Filter)
  }
}
الحقول
insights[]

enum (Insight)

مطلوب. الإحصاءات المطلوب احتسابها لا يتوفّر حاليًا سوى INSIGHT_COUNT وINSIGHT_PLACES.

filter

object (Filter)

مطلوب. فلتر الإحصاءات

نص الاستجابة

استجابة لاستدعاء الإجراء عن بُعد 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

الإحصاءات

الإحصاءات المتوافقة

عمليات التعداد
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" }
}

تصفية

فلاتر لاستدعاء الإجراء عن بُعد 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

عنصر يمثّل زوجًا من خطوط العرض/خطوط الطول ويتم التعبير عن ذلك كزوج من الأعداد المزدوجة لتمثيل درجات خط العرض ودرجات خط الطول. يجب أن يكون هذا العنصر متوافقًا مع معيار 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

فلاتر أنواع الأماكن

لا يمكن استخدام سوى أنواع الأماكن الواردة في الجدول (أ).

يمكن أن يكون للمكان نوع أساسي واحد فقط مرتبط به. على سبيل المثال، قد يكون النوع الأساسي هو "مطعم_مكسيكي" أو "مطعم_ستيك". استخدِم includedPrimaryTypes وexcludedPrimaryTypes لفلترة النتائج حسب النوع الأساسي للمكان.

يمكن أن يكون للمكان أيضًا قيم أنواع متعددة مرتبطة به. على سبيل المثال، قد يتضمّن المطعم الأنواع التالية: "مطعم_مأكولات_بحرية" و"مطعم" و"طعام" و"نقطة_اهتمام" و"منشأة". استخدِم includedTypes وexcludedTypes لفلترة النتائج في قائمة الأنواع المرتبطة بمكان معيّن.

إذا تم تحديد عملية بحث مع قيود أنواع متعددة، لن يتم عرض سوى الأماكن التي تستوفي جميع القيود. على سبيل المثال، إذا حدّدت {"includedTypes": ["restaurant"], "excludedPrimaryTypes": ["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

حالة عمل المكان

عمليات التعداد
OPERATING_STATUS_UNSPECIFIED غير محدّد
OPERATING_STATUS_OPERATIONAL المكان مفتوح ويعمل خلال ساعات العمل المحدّدة.
OPERATING_STATUS_PERMANENTLY_CLOSED لم يعُد المكان يزاول نشاطه التجاري.
OPERATING_STATUS_TEMPORARILY_CLOSED المكان مغلق مؤقتًا ومن المتوقّع أن يُعاد فتحه في المستقبل.

PriceLevel

مستوى أسعار المكان

عمليات التعداد
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.