반환할 필드 선택

Place Details(장소 세부정보)를 호출할 때 (신규), 주변 검색 (신규) 또는 텍스트 검색 (신규) 메서드를 사용하려면 먼저 응답에서 반환되기를 원하는 필드를 지정합니다. 기본 목록이 없습니다. 지정할 수 있습니다. 이 목록을 생략하면 메서드에서 오류를 반환합니다.

응답 필드 마스크를 만들어 필드 목록을 지정합니다. 그런 다음 매개변수 $fields 또는 fields: HTTP 또는 gRPC 헤더 X-Goog-FieldMask를 사용합니다.

필드 마스킹은 불필요한 데이터를 확보하여 불필요한 처리 시간과 비용을 방지합니다. 있습니다.

응답 필드 마스크 정의

응답 필드 마스크는 쉼표로 구분된 경로 목록입니다. 각 경로는 응답 메시지의 고유한 필드를 지정합니다. 경로는 최상위 응답 메시지로, 지정된 필드에 대한 점으로 구분된 경로를 사용합니다.

다음과 같이 필드 경로를 생성합니다.

topLevelField[.secondLevelField][.thirdLevelField][...]

* 필드 마스크를 사용하여 모든 필드를 요청할 수 있습니다.

필드 마스크를 구성하는 방법에 대한 자세한 내용은 field_mask.proto입니다.

사용할 필드 마스크 결정

사용할 필드 마스크를 결정하는 방법은 다음과 같습니다.

  1. `*` 필드 마스크를 사용하여 모든 필드를 요청합니다.
  2. 응답에서 필드의 계층 구조를 살펴보고 지정할 수 있습니다.
  3. 필드 계층 구조를 사용하여 필드 마스크를 빌드합니다.

주변 검색 (신규) 및 텍스트 검색 (신규)의 응답 필드 마스크 정의

주변 검색 (신규) 및 텍스트 검색 (신규)은 응답의 places 필드입니다. 이러한 API의 경우 places가 최상위 수준입니다. 필드에 포함되어야 합니다.

예를 들어 텍스트 검색 (신규):

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: *' \
'https://places.googleapis.com/v1/places:searchText'

텍스트 검색의 완전 응답 객체 (신규) 호출의 형식은 다음과 같습니다.

{
  "places": [
    {
      "name": "places/ChIJs5ydyTiuEmsR0fRSlU0C7k0",
      "id": "ChIJs5ydyTiuEmsR0fRSlU0C7k0",
      "types": [
        "vegetarian_restaurant",
        "vegan_restaurant",
        "meal_takeaway",
        "restaurant",
        "food",
        "point_of_interest",
        "establishment"
      ],
      "nationalPhoneNumber": "0433 479 794",
      "internationalPhoneNumber": "+61 433 479 794",
      "formattedAddress": "29 King St, Sydney NSW 2000, Australia",
      "displayName": {
        "text": "Spiced @ Barangaroo",
        "languageCode": "en"
      },      ...
    },
  ...
  ]
}

따라서 다음과 같은 형식으로 이러한 API에 필드 마스크를 지정합니다.

places[.secondLevelField][.thirdLevelField][...]

formattedAddressdisplayName 필드만 반환하려면 다음과 같이 설정합니다. 필드 마스크를 다음과 같이 변경합니다.

places.formattedAddress,places.displayName

displayName를 지정하면 다음 필드의 textlanguage 필드가 모두 포함됩니다. displayName text 필드만 원하는 경우 필드 마스크를 다음과 같이 설정합니다.

places.formattedAddress,places.displayName.text

장소 세부정보의 응답 필드 마스크 정의 (신규)

Place Details는 단일 Place 객체를 다음 형식으로 반환합니다.

{
  "name": "places/ChIJkR8FdQNB0VQRm64T_lv1g1g",
  "id": "ChIJkR8FdQNB0VQRm64T_lv1g1g",
  "types": [
    "locality",
    "political"
  ],
  "formattedAddress": "Trinidad, CA 95570, USA",
  "displayName": {
    "text": "Trinidad",
    "languageCode": "en"
  }
  ...
}

따라서 다음과 같이 반환하려는 Place 객체를 지정합니다.

curl -X GET -H 'Content-Type: application/json' \
-H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: formattedAddress,displayName" \
https://places.googleapis.com/v1/places/ChIJj61dQgK6j4AR4GeTYWZsKWw

gRPC 호출

gRPC의 경우 응답 필드 마스크가 포함된 변수를 설정합니다. 그런 다음 이 변수를 요청에 추가합니다.

const (
  fieldMask = "places.formattedAddress,places.displayName"
)

필드 경로 고려사항

응답에 필요한 필드만 포함합니다. 다음 항목만 반환됨: 다음과 같은 필드가 있습니다.

  • 처리 시간이 단축되므로 지연 시간을 최소화합니다
  • API가 더 많은 응답 필드를 추가하는 경우 안정적인 지연 시간 성능을 보장합니다. 이러한 새로운 필드에는 추가 계산 시간이 필요합니다. 만약 모든 필드를 선택하거나, 최상위 수준에서 모든 필드를 선택하는 경우 새로운 필드가 모두 업데이트되면 성능이 저하되고 자동으로 포함됩니다
  • 응답 크기가 작아질수록 네트워크가 커집니다. 더 높은 처리량을 제공하도록 설계되었습니다
  • 불필요한 데이터를 요청하지 않도록 합니다. 이를 통해 불필요한 처리에 소요되는 시간과 요금이 발생할 수 있습니다.