Поиск поблизости (новая версия)

Выберите платформу: Android iOS JavaScript Веб-сервисы
Разработчики из Европейской экономической зоны (ЕЭЗ)

Введение

Новый поиск поблизости принимает один или несколько типов мест и возвращает список соответствующих мест в указанной области. Требуется маска поля, в которой указан один или несколько типов данных. Поиск поблизости (New) поддерживает только запросы POST.

API Explorer позволяет отправлять запросы в реальном времени, чтобы вы могли ознакомиться с API и его возможностями.

Попробуйте интерактивную демоверсию, чтобы посмотреть, как результаты поиска поблизости (новая версия) отображаются на карте.

запросы поиска поблизости (новая версия);

Запрос Nearby Search (New) – это HTTP-запрос POST к URL в следующем формате:

https://places.googleapis.com/v1/places:searchNearby

Передайте все параметры в теле запроса JSON или в заголовках как часть запроса POST. Пример:

curl -X POST -d '{
  "includedTypes": ["restaurant"],
  "maxResultCount": 10,
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965},
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.displayName" \
https://places.googleapis.com/v1/places:searchNearby

Ответы на запросы к новому сервису поиска поблизости

Поиск поблизости (новая версия) возвращает объект JSON в качестве ответа. В ответе:

  • Массив places содержит все подходящие места.
  • Каждое место в массиве представлено объектом Place. Объект Place содержит подробную информацию об определенном месте.
  • FieldMask, переданная в запросе, определяет список полей, возвращаемых в объекте Place.

Полный объект JSON имеет следующий вид:

{
  "places": [
    {
      object (Place)
    }
  ]
}

Обязательные параметры

  • FieldMask

    Укажите список полей, которые должны возвращаться в ответе, создав маску полей ответа. Передайте маску поля ответа методу, используя параметр URL $fields или fields либо заголовок HTTP X-Goog-FieldMask. В ответе нет списка полей по умолчанию. Если вы не укажете маску поля, метод вернет ошибку.

    Маски полей помогут вам не запрашивать ненужные данные и тем самым сократить время обработки и снизить расходы.

    Укажите список типов данных о местах, которые нужно возвращать, через запятую. Например, чтобы получить отображаемое название и адрес места.

    X-Goog-FieldMask: places.displayName,places.formattedAddress

    Чтобы получить все поля, используйте *.

    X-Goog-FieldMask: *

    Укажите одно или несколько из следующих полей:

    • Следующие поля активируют SKU «Поиск поблизости Pro»:

      places.accessibilityOptions
      places.addressComponents
      places.addressDescriptor*
      places.adrFormatAddress
      places.attributions
      places.businessStatus
      places.consumerAlert
      places.containingPlaces
      places.displayName
      places.formattedAddress
      places.googleMapsLinks
      places.googleMapsTypeLabel
      places.googleMapsUri
      places.iconBackgroundColor
      places.iconMaskBaseUri
      places.id
      places.location
      places.name**
      places.movedPlace
      places.movedPlaceId
      places.openingDate
      places.photos
      places.plusCode
      places.postalAddress
      places.primaryType
      places.primaryTypeDisplayName
      places.pureServiceAreaBusiness
      places.shortFormattedAddress
      places.subDestinations
      places.timeZone
      places.types
      places.utcOffsetMinutes
      places.viewport

      * Дескрипторы адресов доступны клиентам в Индии и находятся на экспериментальном этапе в других странах.

      **Поле places.name содержит название ресурса места в виде places/PLACE_ID. Чтобы получить текстовое название места, используйте places.displayName.

      Полный список полей и связанных с ними кодов приведен в разделе Поля данных о местах (новые).

    • Код Nearby Search Enterprise применяется, если вы запрашиваете следующие поля:

      places.currentOpeningHours
      places.currentSecondaryOpeningHours
      places.internationalPhoneNumber
      places.nationalPhoneNumber
      places.priceLevel
      places.priceRange
      places.rating
      places.regularOpeningHours
      places.regularSecondaryOpeningHours
      places.transitStation
      places.userRatingCount
      places.websiteUri

      Полный список полей и связанных с ними кодов приведен в разделе Поля данных о местах (новая версия).

    • Код Nearby Search Enterprise + Atmosphere применяется при запросе следующих полей:

      places.allowsDogs
      places.curbsidePickup
      places.delivery
      places.dineIn
      places.editorialSummary
      places.evChargeAmenitySummary
      places.evChargeOptions
      places.fuelOptions
      places.generativeSummary
      places.goodForChildren
      places.goodForGroups
      places.goodForWatchingSports
      places.liveMusic
      places.menuForChildren
      places.neighborhoodSummary
      places.parkingOptions
      places.paymentOptions
      places.outdoorSeating
      places.reservable
      places.restroom
      places.reviews
      places.reviewSummary
      routingSummaries*
      places.servesBeer
      places.servesBreakfast
      places.servesBrunch
      places.servesCocktails
      places.servesCoffee
      places.servesDessert
      places.servesDinner
      places.servesLunch
      places.servesVegetarianFood
      places.servesWine
      places.takeout

      * Только для текстового поиска и поиска поблизости.

      Полный список полей и связанных с ними кодов приведен в разделе Поля данных о местах (новая версия).

  • locationRestriction

    Регион поиска, заданный в виде круга с центром и радиусом в метрах. Радиус должен быть в диапазоне от 0,0 до 50 000,0 включительно. Радиус по умолчанию – 0.0. В запросе необходимо указать значение больше 0.0.

    Пример:

    "locationRestriction": {
      "circle": {
        "center": {
          "latitude": 37.7937,
          "longitude": -122.3965
        },
        "radius": 500.0
      }
    }

Необязательные параметры

  • includeFutureOpeningBusinesses

    Если указано значение true, возвращаются компании, которые должны открыться в будущем. Значение по умолчанию – false.

    Чтобы получить статус компании, включите places.businessStatus в маску поля запроса. Чтобы получить предполагаемую дату открытия компании, добавьте places.openingDate в маску поля запроса.

  • includedTypes/excludedTypes, includedPrimaryTypes/excludedPrimaryTypes

    Позволяет указать список типов из таблицы A, которые будут использоваться для фильтрации результатов поиска. В каждой категории с ограничениями можно указать до 50 типов.

    У места может быть только один основной тип из таблицы А. Например, основным типом может быть "mexican_restaurant" или "steak_house". Используйте типы includedPrimaryTypes и excludedPrimaryTypes, чтобы фильтровать результаты по основному типу места.

    С местом также может быть связано несколько значений типа из таблицы А. Например, у ресторана могут быть следующие типы: "seafood_restaurant", "restaurant", "food", "point_of_interest", "establishment". Используйте includedTypes и excludedTypes, чтобы отфильтровать результаты в списке типов, связанных с местом.

    Если вы укажете общий основной тип, например "restaurant" или "hotel", в ответе могут быть места с более конкретным основным типом, чем указанный. Например, вы можете указать, что нужно включить основной тип "restaurant". В ответе могут быть места с основным типом "restaurant", а также места с более конкретным основным типом, например "chinese_restaurant" или "seafood_restaurant".

    Если в поиске указано несколько ограничений по типу, возвращаются только места, соответствующие всем ограничениям. Например, если вы укажете {"includedTypes": ["restaurant"], "excludedPrimaryTypes": ["steak_house"]}, то в результатах поиска будут места, которые предоставляют услуги, связанные с "restaurant", но не являются в первую очередь "steak_house".

    includedTypes

    Список типов мест из Таблицы А, разделенных запятыми. Если этот параметр не указан, возвращаются места всех типов.

    excludedTypes

    Список типов мест из таблицы А, разделенных запятыми, которые нужно исключить из поиска.

    Если в запросе указать и includedTypes ( например, "school"), и excludedTypes (например, "primary_school"), то в ответе будут места, которые относятся к категории "school", но не к категории "primary_school". В ответе будут места, которые соответствуют хотя бы одному из объектов includedTypes и ни одному из объектов excludedTypes.

    Если типы конфликтуют, например один и тот же тип указан в полях includedTypes и excludedTypes, возвращается ошибка INVALID_REQUEST.

    includedPrimaryTypes

    Список основных типов мест из таблицы А, разделенных запятыми, которые нужно включить в поиск.

    excludedPrimaryTypes

    Список основных типов мест из таблицы А, разделенный запятыми, которые нужно исключить из поиска.

    Если основные типы конфликтуют, например если тип указан и в includedPrimaryTypes, и в excludedPrimaryTypes, возвращается ошибка INVALID_ARGUMENT.

  • languageCode

    Язык, на котором будут возвращены результаты.

    • Ознакомьтесь со списком поддерживаемых языков. Google часто обновляет список поддерживаемых языков, поэтому он может быть неполным.
    • Если параметр languageCode не указан, API по умолчанию использует en. Если вы укажете недопустимый код языка, API вернет ошибку INVALID_ARGUMENT.
    • API старается предоставить почтовый адрес, который будет понятен как пользователю, так и местным жителям. Для этого он возвращает почтовые адреса на местном языке, при необходимости транслитерируя их в систему письма, понятную пользователю, с учетом предпочитаемого языка. Все остальные адреса возвращаются на предпочтительном языке. Все компоненты адреса возвращаются на одном языке, который выбирается по первому компоненту.
    • Если на предпочтительном языке такого названия нет, API использует ближайшее соответствие.
    • Предпочтительный язык незначительно влияет на набор результатов, возвращаемых API, и порядок их возврата. Геокодер интерпретирует сокращения по-разному в зависимости от языка. Это касается, например, сокращений типов улиц или синонимов, которые могут быть действительны на одном языке, но не на другом.
  • maxResultCount

    Указывает максимальное количество результатов поиска мест, которые нужно вернуть. Значение должно быть в диапазоне от 1 до 20 (по умолчанию) включительно.

  • rankPreference

    Тип ранжирования. Если этот параметр не указан, результаты сортируются по популярности. Может быть одним из следующих:

    • POPULARITY (по умолчанию). Результаты сортируются по популярности.
    • DISTANCE – сортировка результатов по возрастанию расстояния от указанного местоположения.
  • regionCode

    Код региона, используемый для форматирования ответа, в виде двухсимвольного кода CLDR. Значение по умолчанию отсутствует.

    Если название страны в поле formattedAddress в ответе совпадает с regionCode, код страны в поле formattedAddress опускается. Этот параметр не влияет на adrFormatAddress, который всегда включает название страны, и на shortFormattedAddress, который никогда его не включает.

    Большинство кодов CLDR совпадают с кодами ISO 3166-1, однако имеются некоторые исключения. Например, ccTLD Великобритании – uk (.co.uk), а код ISO 3166-1 – gb (технически для "Соединенного Королевства Великобритании и Северной Ирландии"). Параметр может влиять на результаты в соответствии с действующим законодательством.

Примеры запросов для поиска поблизости (новая версия)

Как найти места определенного типа

В примере ниже показан запрос поиска поблизости (New) для отображения отображаемых названий всех ресторанов в радиусе 500 метров, заданном параметром circle:

curl -X POST -d '{
  "includedTypes": ["restaurant"],
  "maxResultCount": 10,
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965},
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.displayName" \
https://places.googleapis.com/v1/places:searchNearby

Обратите внимание, что заголовок X-Goog-FieldMask указывает, что ответ содержит следующие поля данных: places.displayName. Ответ будет иметь следующий вид:

{
  "places": [
    {
      "displayName": {
        "text": "La Mar Cocina Peruana",
        "languageCode": "en"
      }
    },
    {
      "displayName": {
        "text": "Kokkari Estiatorio",
        "languageCode": "en"
      }
    },
    {
      "displayName": {
        "text": "Harborview Restaurant & Bar",
        "languageCode": "en"
      }
    },
...
}

Добавьте в маску поля больше типов данных, чтобы получать дополнительную информацию. Например, добавьте places.formattedAddress,places.types,places.websiteUri, чтобы включить в ответ адрес, тип и веб-адрес ресторана:

curl -X POST -d '{
  "includedTypes": ["restaurant"],
  "maxResultCount": 10,
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965},
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.displayName,places.formattedAddress,places.types,places.websiteUri" \
https://places.googleapis.com/v1/places:searchNearby

Ответ теперь имеет следующий вид:

{
  "places": [
    {
      "types": [
        "seafood_restaurant",
        "restaurant",
        "food",
        "point_of_interest",
        "establishment"
      ],
      "formattedAddress": "PIER 1 1/2 The Embarcadero N, San Francisco, CA 94105, USA",
      "websiteUri": "http://lamarsf.com/",
      "displayName": {
        "text": "La Mar Cocina Peruana",
        "languageCode": "en"
      }
    },
    {
      "types": [
        "greek_restaurant",
        "meal_takeaway",
        "restaurant",
        "food",
        "point_of_interest",
        "establishment"
      ],
      "formattedAddress": "200 Jackson St, San Francisco, CA 94111, USA",
      "websiteUri": "https://kokkari.com/",
      "displayName": {
        "text": "Kokkari Estiatorio",
        "languageCode": "en"
      }
    },
...
}

Как найти места разных типов

В приведенном ниже примере показан запрос поиска поблизости (New) для получения отображаемых названий всех универсальных магазинов шаговой доступности и алкогольных магазинов в радиусе 1000 метров от указанного местоположения circle:

curl -X POST -d '{
  "includedTypes": ["liquor_store", "convenience_store"],
  "maxResultCount": 10,
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965
      },
      "radius": 1000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.displayName,places.primaryType,places.types" \
https://places.googleapis.com/v1/places:searchNearby
В этом примере в маску поля добавляются places.primaryType и places.types, чтобы в ответе была информация о типе каждого места. Это упрощает выбор подходящего места из результатов.

В примере ниже показан запрос поиска поблизости (New) для всех мест типа "school", кроме мест типа "primary_school", с сортировкой результатов по расстоянию.

curl -X POST -d '{
  "includedTypes": ["school"],
  "excludedTypes": ["primary_school"],
  "maxResultCount": 10,
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965
      },
      "radius": 1000.0
    }
  },
  "rankPreference": "DISTANCE"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.displayName" \
https://places.googleapis.com/v1/places:searchNearby

Поиск всех мест рядом с определенной областью с сортировкой по расстоянию

В примере ниже показан запрос поиска поблизости (New) для поиска мест рядом с точкой в центре Сан-Франциско. В этом примере вы включаете параметр rankPreference, чтобы ранжировать результаты по расстоянию:

curl -X POST -d '{
  "maxResultCount": 10,
  "rankPreference": "DISTANCE",
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965
      },
      "radius": 1000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.displayName" \
https://places.googleapis.com/v1/places:searchNearby

Как получить дескрипторы адресов

Описания адресов содержат информацию о местоположении места, включая близлежащие ориентиры и районы.

В примере ниже показан запрос поиска поблизости (New) для поиска мест рядом с торговым центром в Сан-Хосе. В этом примере вы включаете addressDescriptors в маску поля:

curl -X POST -d '{
  "maxResultCount": 5,
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.321328,
        "longitude": -121.946275
      },"radius": 1000
    }
  },
  "includedTypes": ["restaurant", "cafe"],
  "excludedTypes": [],
  "rankPreference":"POPULARITY"
}' \
-H 'Content-Type: application/json' \
-H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.displayName,places.addressDescriptor" \
https://places.googleapis.com/v1/places:searchNearby

Ответ содержит место, указанное в запросе, список ближайших ориентиров и расстояние до них, а также список областей и их связь с местом:

  {
    "places": [
      {
        "displayName": {
          "text": "Westfield Valley Fair",
          "languageCode": "en"
        },
        "addressDescriptor": {
          "landmarks": [
            {
              "name": "places/ChIJ62_oCR7Lj4AR_MGWkSPotD4",
              "placeId": "ChIJ62_oCR7Lj4AR_MGWkSPotD4",
              "displayName": {
                "text": "Nordstrom",
                "languageCode": "en"
              },
              "types": [
                "clothing_store",
                "department_store",
                "establishment",
                "point_of_interest",
                "shoe_store",
                "store"
              ],
              "straightLineDistanceMeters": 114.76984,
              "travelDistanceMeters": 114.261856
            },
            {
              "name": "places/ChIJgexMlR_Lj4ARiKCKuhNnjn0",
              "placeId": "ChIJgexMlR_Lj4ARiKCKuhNnjn0",
              "displayName": {
                "text": "Valley Fair Mall Eyexam of CA",
                "languageCode": "en"
              },
              "types": [
                "establishment",
                "health",
                "point_of_interest"
              ],
              "straightLineDistanceMeters": 131.62566,
              "travelDistanceMeters": 237.33253
            },
            {
              "name": "places/ChIJWWIlNx7Lj4ARpe1E0ob-_GI",
              "placeId": "ChIJWWIlNx7Lj4ARpe1E0ob-_GI",
              "displayName": {
                "text": "Din Tai Fung",
                "languageCode": "en"
              },
              "types": [
                "establishment",
                "food",
                "point_of_interest",
                "restaurant"
              ],
              "straightLineDistanceMeters": 110.0775,
              "travelDistanceMeters": 171.41951
            },
            {
              "name": "places/ChIJwyfPQx7Lj4AR7bYI2A2Yc54",
              "placeId": "ChIJwyfPQx7Lj4AR7bYI2A2Yc54",
              "displayName": {
                "text": "Abercrombie & Fitch",
                "languageCode": "en"
              },
              "types": [
                "clothing_store",
                "establishment",
                "point_of_interest",
                "shoe_store",
                "store"
              ],
              "spatialRelationship": "DOWN_THE_ROAD",
              "straightLineDistanceMeters": 53.620117,
              "travelDistanceMeters": 2.4578214
            },
            {
              "name": "places/ChIJpycNQx7Lj4ARjhXw3PrM_kU",
              "placeId": "ChIJpycNQx7Lj4ARjhXw3PrM_kU",
              "displayName": {
                "text": "Hollister Co.",
                "languageCode": "en"
              },
              "types": [
                "clothing_store",
                "establishment",
                "point_of_interest",
                "shoe_store",
                "store"
              ],
              "spatialRelationship": "DOWN_THE_ROAD",
              "straightLineDistanceMeters": 56.53726,
              "travelDistanceMeters": 15.418246
            }
          ],
          "areas": [
            {
              "name": "places/ChIJb3F-EB7Lj4ARnHApQ_Hu1gI",
              "placeId": "ChIJb3F-EB7Lj4ARnHApQ_Hu1gI",
              "displayName": {
                "text": "Westfield Valley Fair",
                "languageCode": "en"
              },
              "containment": "WITHIN"
            },
            {
              "name": "places/ChIJXYuykB_Lj4AR1Ot8nU5q26Q",
              "placeId": "ChIJXYuykB_Lj4AR1Ot8nU5q26Q",
              "displayName": {
                "text": "Valley Fair",
                "languageCode": "en"
              },
              "containment": "WITHIN"
            },
            {
              "name": "places/ChIJtYoUX2DLj4ARKoKOb1G0CpM",
              "placeId": "ChIJtYoUX2DLj4ARKoKOb1G0CpM",
              "displayName": {
                "text": "Central San Jose",
                "languageCode": "en"
              },
              "containment": "OUTSKIRTS"
            }
          ]
        }
      },
  /.../
  }

Как найти компании, которые откроются в будущем

В примере ниже показан запрос поиска поблизости (New) для компаний, которые откроются в будущем в Нью-Медоусе, штат Айдахо:

curl -X POST \
-H "Content-Type: application/json" \
-H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.id,places.displayName,places.businessStatus,places.openingDate" \
-d '{
  "includeFutureOpeningBusinesses": true,
  "maxResultCount": 20,
  "locationRestriction": {
    "circle": {
      "center": {"latitude": 44.9755100, "longitude": -116.2842180},
      "radius": 20
    }
  },
  "rankPreference": "DISTANCE"
}' \
"https://places.googleapis.com/v1/places:searchNearby"

В ответе будут перечислены компании, которые откроются в будущем, а также их статус и предполагаемая дата открытия:

{
  "places": [
    {
      "id": "ChIJp1-VoKWJplQRMz8g-7Wa3Do",
      "businessStatus": "FUTURE_OPENING",
      "displayName": {
        "text": "Roberts Greenhouse and Tree Farm",
        "languageCode": "en"
      },
      "openingDate": {
        "year": 2026,
        "month": 4,
        "day": 15
      }
    }
  ]
}

Как получить информацию об остановке общественного транспорта

С помощью поиска поблизости (New) можно получать информацию о станциях общественного транспорта в определенном радиусе от заданного местоположения. Тело ответа содержит информацию о станции, включая ее название, связанные транспортные агентства и маршруты, обслуживающие станцию. Кроме того, в ответе есть значок транспортного средства и цвета, которые можно использовать для отображения информации о станции.

В примере ниже показан запрос станций общественного транспорта в радиусе 50 метров от центра Манхэттена:

curl -X POST \
-H "Content-Type: application/json" \
-H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.id,places.displayName,places.transitStation" \
-d '{
  "includedTypes": ["transit_station"],
  "locationRestriction": {
    "circle": {
      "center": {"latitude": 40.754851, "longitude": -73.984164},
      "radius": 50.0
    }
  }
}' \
"https://places.googleapis.com/v1/places:searchNearby"

Тело ответа содержит информацию о каждой станции в радиусе, маршрутах, которые обслуживает станция, предупреждениях, выпущенных транспортными агентствами на этой остановке, и информацию об отправлении:

{
  "places": [
    {
      "id": "ChIJH2EstKpZwokRCwZtYyMd5Fg",
      "displayName": {
        "text": "6 Av/W 41 St",
        "languageCode": "en"
      },
      "transitStation": {
        "displayName": {
          "text": "6 Av/W 41 St",
          "languageCode": "en"
        },
        "agencies": [
          {
            "displayName": {
              "text": "ShortLine Hudson",
              "languageCode": "en"
            },
            "url": "https://www.coachusa.com/",
            "lines": [
              {
                "id": "ChIJSQlbzvPwwokRolrIA-Kuh6o",
                "vehicleType": "BUS",
                "displayName": {
                  "text": "200 - Northern District – Nanuet",
                  "languageCode": "en"
                },
                "shortDisplayName": {
                  "text": "ShortLine Hudson",
                  "languageCode": "en"
                },
                "textColor": "#000000",
                "backgroundColor": "#ED60A3",
                "vehicleIcon": {
                  "url": "https://maps.gstatic.com/mapfiles/transit/iw2/svg/bus2.svg"
                }
              }
            ]
          },
          {
            "displayName": {
              "text": "MTA New York City Transit",
              "languageCode": "en"
            },
            "url": "http://www.mta.info/",
            "lines": [
              {
                "id": "ChIJjUrj7PBewokR3O3S2JVpBrI",
                "vehicleType": "SUBWAY",
                "displayName": {
                  "text": "E Train (8 Av Local)",
                  "languageCode": "en"
                },
                "shortDisplayName": {
                  "text": "E Line",
                  "languageCode": "en"
                },
                "textColor": "#FFFFFF",
                "backgroundColor": "#0039A6",
                "url": "https://www.mta.info/schedules/subway/e-train",
                "icon": {
                  "url": "https://maps.gstatic.com/mapfiles/transit/iw2/svg/us-ny-mta/E.svg",
                  "nameIncluded": true
                },
                "vehicleIcon": {
                  "url": "https://maps.gstatic.com/mapfiles/transit/iw2/svg/subway2.svg"
                }
              },
              ...
            ]
          },
        "stops": [
          {
            "id": "ChIJvRnquapZwokRdUOyVwNGbe8",
            "displayName": {
              "text": "6 Av/W 41 St",
              "languageCode": "en"
            },
            "location": {
              "latitude": 40.754509,
              "longitude": -73.984216500000016
            },
            "wheelchairAccessibleEntrance": true
          }
        ],
        "departureBoards": [
          {
            "displayType": "DIRECTION_CENTRIC",
            "rows": [
              {
                "departures": [
                  {
                    "timedDeparture": {
                      "scheduledTime": "2026-05-15T22:29:51Z",
                      "timingType": "SCHEDULED"
                    },
                    "originallyScheduledStopId": "ChIJvRnquapZwokRdUOyVwNGbe8",
                    "lineId": "ChIJA1aFyaZfwokRkO5869M6UXk"
                  }
                ]
              },
              {
                "departures": [
                  {
                    "timedDeparture": {
                      "scheduledTime": "2026-05-15T22:33:55Z",
                      "timingType": "SCHEDULED"
                    },
                    "originallyScheduledStopId": "ChIJvRnquapZwokRdUOyVwNGbe8",
                    "lineId": "ChIJj3iCEwJfwokRZE2Qtnm4pPI"
                  }
                ]
              },
              ...
            ]
          }
        ]
      }
    },
    ...
    {
      {
        "id": "ChIJPyq6TZBZwokRdGoiJ5Iq_hE",
        "vehicleType": "BUS",
        "displayName": {
          "text": "W 44 St - South Ferry",
          "languageCode": "en"
        },
        "shortDisplayName": {
          "text": "M55",
          "languageCode": "en"
        },
        "textColor": "#FFFFFF",
        "backgroundColor": "#1D59B3",
        "vehicleIcon": {
          "url": "https://maps.gstatic.com/mapfiles/transit/iw2/svg/bus2.svg"
        },
        "alerts": [
          {
            "effect": "OTHER",
            "texts": [
              {
                "headline": {
                  "text": "Information",
                  "languageCode": "en"
                },
                "summary": {
                  "text": "Northbound M20 and M55 stop on State St at Bridge St is closed; use the temporary stop on State St before the intersection instead",
                  "languageCode": "en"
                },
                "fullDescription": {
                  "text": "See a map of the new stop location. What's happening? Construction",
                  "languageCode": "en"
                }
              }
            ],
            "detailsUrls": [
              {
                "url": "https://www.mta.info/"
              }
            ],
            "cause": "OTHER_CAUSE",
            "startTime": "2025-04-02T04:00:00Z",
            "endTime": "2026-06-15T00:00:00Z",
            "attribution": {
              "link": {
                "text": "www.mta.info",
                "url": "https://www.mta.info/"
              }
            },
            "createTime": "2026-05-15T22:32:00Z",
            "severityLevel": "INFO"
          }
        ]
      },
      ...
    }
    ...
  }

Получать информацию о входах и навигационных точках

Вы можете запросить входы и точки навигации для пункта назначения. Входы – это точки входа и выхода из места (например, разные ворота в аэропорту или торговом центре). Точки навигации определяют места на обочине, где должна заканчиваться навигация. Это полезно, чтобы направлять пользователей на нужную сторону дороги или в определенную точку высадки.

Точки навигации возвращают значение navigationPointToken. Вы можете передать этот токен в Navigation SDK (доступен для Android и iOS) или Routes API, чтобы направлять водителей в определенное место. Подробнее о токенах точек навигации…

В примере ниже показан запрос поиска поблизости (New) с полями entrances и navigationPoints в маске полей.

curl -X POST \
-H "Content-Type: application/json" \
-H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.id,places.displayName,places.entrances,places.navigationPoints" \
-d '{
  "includedTypes": ["airport"],
  "maxResultCount": 1,
  "locationRestriction": {
    "circle": {
      "center": {"latitude": 37.6193, "longitude": -122.3816},
      "radius": 1000.0
    }
  }
}' \
"https://places.googleapis.com/v1/places:searchNearby"

Ответ содержит входы и точки навигации для места:

{
  "places": [
    {
      "id": "ChIJVVVVVYx3j4ARP-3NGldc8qQ",
      "displayName": {
        "text": "San Francisco International Airport",
        "languageCode": "en"
      },
      "entrances": [
        {
          "location": {
            "latitude": 37.6172154,
            "longitude": -122.3839724
          }
        },
        {
          "location": {
            "latitude": 37.6174073,
            "longitude": -122.384196
          }
        },
        ...
      ],
      "navigationPoints": [
        {
          "navigationPointToken": "ChIJoioBjMLOQkAR0A3yH_eYXsA...",
          "displayName": {
            "text": "International Terminal Departures Level",
            "languageCode": "en"
          },
          "location": {
            "latitude": 37.6153121,
            "longitude": -122.3900833
          },
          "travelModes": ["WALK"]
        },
        {
          "navigationPointToken": "ChIJy5JKws_OQkAROx0jNN2YXsA...",
          "displayName": {
            "text": "Domestic Garage - SFO Short Term Parking",
            "languageCode": "en"
          },
          "location": {
            "latitude": 37.6157153,
            "longitude": -122.3885012
          },
          "travelModes": ["DRIVE", "WALK"],
          "usages": ["PARKING"]
        },
        ...
      ]
    }
  ]
}

Попробовать

API Explorer позволяет отправлять тестовые запросы, чтобы вы могли ознакомиться с API и его возможностями.

  1. Нажмите на значок API api в правой части страницы.

  2. При необходимости измените параметры запроса.

  3. Нажмите кнопку Выполнить. В диалоговом окне выберите аккаунт, который хотите использовать для запроса.

  4. На панели API Explorer нажмите на значок полноэкранного режима fullscreen, чтобы развернуть окно API Explorer.