Method: computeInsights

Compute Insights RPC

Bu yöntem, alan, yer türü, çalışma durumu, fiyat seviyesi ve puanlar gibi çeşitli filtreleri kullanarak alanlarla ilgili analizler almanıza olanak tanır. Şu anda yalnızca "sayı" ve "yer" analizleri desteklenmektedir. "Sayı" analizleriyle "California'da faaliyet gösteren, uygun fiyatlı ve ortalama puanı en az 4 yıldız olan kaç restoran var?" gibi soruları yanıtlayabilirsiniz (Daha fazla bilgi için insight enum bölümüne bakın). "Yerler" analizleriyle, istenen filtreyle hangi yerlerin eşleştiğini belirleyebilirsiniz. İstemciler daha sonra bu yer kaynağı adlarını kullanarak Places API'yi kullanarak her bir yer hakkında daha fazla ayrıntı alabilir.

HTTP isteği

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

URL, gRPC Kod Dönüştürme söz dizimini kullanır.

İstek içeriği

İstek metni aşağıdaki yapıyla birlikte verileri içerir:

JSON gösterimi
{
  "insights": [
    enum (Insight)
  ],
  "filter": {
    object (Filter)
  }
}
Alanlar
insights[]

enum (Insight)

Zorunlu. Hesaplanacak analizler. Şu anda yalnızca INSIGHT_COUNT ve INSIGHT_PLACES desteklenmektedir.

filter

object (Filter)

Zorunlu. Analiz filtresi.

Yanıt gövdesi

v1.computeInsights RPC'ye verilen yanıt.

Başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:

JSON gösterimi
{
  "placeInsights": [
    {
      object (PlaceInsight)
    }
  ],
  "count": string
}
Alanlar
placeInsights[]

object (PlaceInsight)

Insights.INSIGHT_PLACES sonucu.

count

string (int64 format)

Insights.INSIGHT_COUNT sonucu.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamını gerektirir:

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

Analiz

Desteklenen analizler.

Sıralamalar
INSIGHT_UNSPECIFIED Belirtilmedi.
INSIGHT_COUNT

Sayı analizini görebilirsiniz.

Bu analiz belirtildiğinde v1.computeInsights, belirtilen filtre ölçütleriyle eşleşen yerlerin sayısını döndürür.

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

Yerleri iade etme

Bu analiz belirtildiğinde v1.computeInsights, belirtilen filtre ölçütleriyle eşleşen yerleri döndürür.

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" }
}

Filtre

v1.computeInsights RPC için filtreler.

JSON gösterimi
{
  "locationFilter": {
    object (LocationFilter)
  },
  "typeFilter": {
    object (TypeFilter)
  },
  "operatingStatus": [
    enum (OperatingStatus)
  ],
  "priceLevels": [
    enum (PriceLevel)
  ],
  "ratingFilter": {
    object (RatingFilter)
  }
}
Alanlar
locationFilter

object (LocationFilter)

Zorunlu. Sonuçları, konum filtreleri tarafından belirtilen alanda bulunan yerlerle sınırlar.

typeFilter

object (TypeFilter)

Zorunlu. Yer türü filtreleri.

operatingStatus[]

enum (OperatingStatus)

İsteğe bağlı. Sonuçları, faaliyet durumu bu listeye dahil olan yerlerle kısıtlar. operatingStatus ayarlanmazsa varsayılan olarak OPERATING_STATUS_OPERATIONAL kullanılır.

priceLevels[]

enum (PriceLevel)

İsteğe bağlı. Sonuçları, fiyat düzeyi bu listeye dahil olan yerlerle sınırlandırır. price_level ayarlanmamışsa sonuçlara tüm fiyat seviyeleri dahil edilir.

ratingFilter

object (RatingFilter)

İsteğe bağlı. Sonuçları, ortalama kullanıcı puanları ratingFilter tarafından belirtilen aralıkta olan yerlerle sınırlandırır. ratingFilter ayarlanmazsa tüm puanlar sonuca dahil edilir.

LocationFilter

Konum filtreleri.

Analizin alakalı konumunu belirtir.

JSON gösterimi
{

  // 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.
}
Alanlar
Birlik alanı area. Aşağıdakilerden biri belirtilmelidir. area yalnızca aşağıdakilerden biri olabilir:
circle

object (Circle)

Alan, daire şeklinde gösterilir.

region

object (Region)

Bölge olarak alan.

customArea

object (CustomArea)

Poligonla belirtilen özel alan.

Daire

Daireler, bir merkez noktası ve yarıçapı (metre cinsinden) ile tanımlanır.

JSON gösterimi
{
  "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.
}
Alanlar
radius

integer

İsteğe bağlı. Çemberin metre cinsinden yarıçapı

Birlik alanı center. Dairenin merkezi. center yalnızca aşağıdakilerden biri olabilir:
latLng

object (LatLng)

Dairenin merkezinin enlemi ve boylamı.

place

string

Dairenin merkezinin yer kaynağı adı. Yalnızca nokta yerler desteklenir.

LatLng

Bir enlem/boylam çiftini temsil eden nesne. Bu değer, enlem derecelerini ve boylam derecelerini temsil eden bir çift çift olarak ifade edilir. Aksi belirtilmediği sürece bu nesne WGS84 standardına uygun olmalıdır. Değerler normalleştirilmiş aralıklar içinde olmalıdır.

JSON gösterimi
{
  "latitude": number,
  "longitude": number
}
Alanlar
latitude

number

Enlem (derece cinsinden). [-90,0; +90,0] aralığında olmalıdır.

longitude

number

Derece cinsinden boylam. [-180,0; +180,0] aralığında olmalıdır.

Bölge

Bölge, şehirler, posta kodları, ilçeler, eyaletler vb. gibi coğrafi bir sınırdır.

JSON gösterimi
{

  // Union field region can be only one of the following:
  "place": string
  // End of list of possible types for union field region.
}
Alanlar
Birlik alanı region. Coğrafi bir bölgeyi tanımlar. Tek seferde yalnızca bir bölge türü (ör. yer) belirtilebilir. region yalnızca aşağıdakilerden biri olabilir:
place

string

Belirli bir coğrafi bölgenin benzersiz tanımlayıcısı.

CustomArea

Özel Alan.

JSON gösterimi
{
  "polygon": {
    object (Polygon)
  }
}
Alanlar
polygon

object (Polygon)

Zorunlu. Poligon olarak temsil edilen özel alan

Poligon

Çokgenler, saat yönünün tersine sıralanmış bir dizi bağlı koordinatla temsil edilir. Koordinatlar kapalı bir döngü oluşturur ve dolu bir bölge tanımlar. İlk ve son koordinatlar eşdeğerdir ve aynı değerleri içermelidir. Bu biçim, GeoJSON poligonlarının basitleştirilmiş bir sürümüdür (yalnızca saat yönünün tersine tek bir dış halka desteklenir).

JSON gösterimi
{
  "coordinates": [
    {
      object (LatLng)
    }
  ]
}
Alanlar
coordinates[]

object (LatLng)

İsteğe bağlı. Poligonu tanımlayan koordinatlar.

TypeFilter

Yer türü filtreleri.

Yalnızca Tablo a'daki yer türleri desteklenir.

Bir yerin yalnızca tek bir birincil türü olabilir. Örneğin, birincil tür "mexican_restaurant" veya "steak_house" olabilir. Sonuçları bir yerin birincil türüne göre filtrelemek için includedPrimaryTypes ve excludedPrimaryTypes parametrelerini kullanın.

Bir yerin birden fazla tür değeri de olabilir. Örneğin, bir restoranın şu türleri olabilir: "seafood_restaurant", "restaurant", "food", "point_of_interest", "establishment". Bir yerle ilişkili tür listesinde sonuçları filtrelemek için includedTypes ve excludedTypes parametrelerini kullanın.

Birden fazla tür kısıtlaması içeren bir arama yapıldığında yalnızca tüm kısıtlamaları karşılayan yerler döndürülür. Örneğin, {"includedTypes": ["restaurant"], "excludedPrimaryTypes": ["steak_house"]} değerini belirtirseniz döndürülen yerler "restoran" ile ilgili hizmetler sunar ancak birincil olarak "steak_house" olarak faaliyet göstermez.

Çakışan tür varsa (ör. bir tür hem includedTypes hem de excludedTypes türlerinde veya includedPrimaryTypes ile excludedPrimaryTypes türlerinde görünüyorsa) INVALID_ARGUMENT hatası döndürülür.

includedTypes veya includedPrimaryTypes'den biri ayarlanmalıdır.

JSON gösterimi
{
  "includedTypes": [
    string
  ],
  "excludedTypes": [
    string
  ],
  "includedPrimaryTypes": [
    string
  ],
  "excludedPrimaryTypes": [
    string
  ]
}
Alanlar
includedTypes[]

string

İsteğe bağlı. Dahil edilen yer türleri.

excludedTypes[]

string

İsteğe bağlı. Hariç tutulan yer türleri.

includedPrimaryTypes[]

string

İsteğe bağlı. Birincil yer türleri dahil edildi.

excludedPrimaryTypes[]

string

İsteğe bağlı. Hariç tutulan birincil yer türleri.

OperatingStatus

Yerin çalışma durumu.

Sıralamalar
OPERATING_STATUS_UNSPECIFIED Belirtilmedi.
OPERATING_STATUS_OPERATIONAL Yer, belirtilen çalışma saatlerinde açık ve faaliyette.
OPERATING_STATUS_PERMANENTLY_CLOSED Yer artık faaliyette değil.
OPERATING_STATUS_TEMPORARILY_CLOSED Yer geçici olarak kapalıdır ve gelecekte yeniden açılması beklenmektedir.

PriceLevel

Yerin fiyat düzeyi.

Sıralamalar
PRICE_LEVEL_UNSPECIFIED Yer fiyat düzeyi belirtilmemiş veya bilinmiyor.
PRICE_LEVEL_FREE Tesis ücretsiz hizmetler sunuyor.
PRICE_LEVEL_INEXPENSIVE Uygun fiyatlı hizmetler sunuluyor.
PRICE_LEVEL_MODERATE Orta düzeyde fiyatlı hizmetler sunuluyor.
PRICE_LEVEL_EXPENSIVE Burası pahalı hizmetler sunuyor.
PRICE_LEVEL_VERY_EXPENSIVE Burası çok pahalı hizmetler sunuyor.

RatingFilter

Ortalama kullanıcı puanı filtreleri.

JSON gösterimi
{
  "minRating": number,
  "maxRating": number
}
Alanlar
minRating

number

İsteğe bağlı. Sonuçları, ortalama kullanıcı puanı minRating değerinden büyük veya eşit olan yerlerle sınırlandırır. Değerler 1,0 ile 5,0 arasında olmalıdır.

maxRating

number

İsteğe bağlı. Sonuçları, ortalama kullanıcı puanı kesinlikle maxRating'ten düşük veya maxRating'e eşit olan yerlerle sınırlandırır. Değerler 1,0 ile 5,0 arasında olmalıdır.

PlaceInsight

Bir yerle ilgili bilgileri içerir.

JSON gösterimi
{
  "place": string
}
Alanlar
place

string

Yerin benzersiz tanımlayıcısı. Bu kaynak adı, Places API kullanılarak yerle ilgili ayrıntıları almak için kullanılabilir.