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)

ต้องระบุ ตัวกรองข้อมูลเชิงลึก

เนื้อหาการตอบกลับ

การตอบกลับสำหรับ 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

ออบเจ็กต์ที่แสดงคู่ละติจูด/ลองจิจูด ซึ่งแสดงเป็นคู่ของตัวเลขทศนิยมเพื่อแสดงองศาละติจูดและองศาลองจิจูด วัตถุนี้ต้องเป็นไปตาม มาตรฐาน 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 กำหนดภูมิภาคทางภูมิศาสตร์ ระบุภูมิภาคได้เพียง 1 ประเภท (เช่น สถานที่) ในแต่ละครั้ง 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"]} สถานที่ที่แสดงผลจะให้บริการที่เกี่ยวข้องกับ "restaurant" แต่ไม่ได้ดำเนินการเป็น "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