Текстовый поиск возвращает информацию о наборе мест на основе строки. Например, «пицца в Нью-Йорке», «обувные магазины недалеко от Оттавы» или «Мейн-стрит, 123». Служба отвечает списком мест, соответствующих текстовой строке и любому заданному смещению местоположения.
Эта служба особенно полезна для выполнения неоднозначных адресных запросов в автоматизированной системе, поскольку неадресные компоненты строки могут соответствовать как предприятиям, так и адресам. Примерами неоднозначных адресных запросов являются плохо отформатированные адреса или запросы, включающие неадресные компоненты, например названия компаний. Запросы, подобные первым двум примерам, могут возвращать нулевые результаты, если не установлено местоположение (например, регион, ограничение местоположения или смещение местоположения).
«10 High Street, Великобритания» или «123 Main Street, США». | Несколько «Хай-стрит» в Великобритании; несколько «Мейн-стрит» в США. Запрос не возвращает желаемых результатов, если не установлено ограничение местоположения. |
«Сеть ресторанов Нью-Йорк» | Несколько сетевых ресторанов в Нью-Йорке; ни адреса, ни даже названия улицы. |
«10 High Street, Escher UK» или «123 Main Street, Pleasanton US» | Единственная «Хай-стрит» в британском городе Эшер; только одна «Мейн-стрит» в американском городе Плезантон, Калифорния. |
«UniqueRestaurantName Нью-Йорк» | В Нью-Йорке только одно заведение с таким названием; никакой адрес не нужен для различения. |
"пиццерии в Нью-Йорке" | Этот запрос содержит ограничение по местоположению, а «рестораны-пиццерии» – это четко определенный тип места. Он возвращает несколько результатов. |
"+1 514-670-8700" | Этот запрос содержит номер телефона. Он возвращает несколько результатов для мест, связанных с этим номером телефона. |
Получить список мест с помощью текстового поиска
Сделайте запрос текстового поиска, вызвав GMSPlacesClient searchByTextWithRequest:
, передав объект GMSPlaceSearchByTextRequest
, который определяет параметры запроса и метод обратного вызова типа GMSPlaceSearchByTextResultCallback
для обработки ответа.
Объект GMSPlaceSearchByTextRequest
указывает все обязательные и необязательные параметры запроса. К обязательным параметрам относятся:
- Список полей, возвращаемых в объекте
GMSPlace
, также называемый маской поля , как определеноGMSPlaceProperty
. Если вы не укажете хотя бы одно поле в списке полей или опустите список полей, вызов вернет ошибку. - Текстовый запрос .
В этом примере запроса текстового поиска указывается, что объекты ответа GMSPlace
содержат название места и идентификатор места для каждого объекта GMSPlace
в результатах поиска. Он также фильтрует ответ, чтобы возвращать только места типа «ресторан».
Быстрый
// Create the GMSPlaceSearchByTextRequest object. let myProperties = [GMSPlaceProperty.name, GMSPlaceProperty.placeID].map {$0.rawValue} let request = GMSPlaceSearchByTextRequest(textQuery:"pizza in New York", placeProperties:myProperties) request.isOpenNow = true request.includedType = "restaurant" request.maxResultCount = 5 request.minRating = 3.5 request.rankPreference = .distance request.isStrictTypeFiltering = true request.locationBias = GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0) // Array to hold the places in the response var placeResults: [GMSPlace] = [] let callback: GMSPlaceSearchByTextResultCallback = { [weak self] results, error in guard let self, error == nil else { if let error { print(error.localizedDescription) } return } guard let results = results as? [GMSPlace] else { return } placeResults = results } GMSPlacesClient.shared().searchByText(with: request, callback: callback)
Цель-C
// Create the GMSPlaceSearchByTextRequest object. GMSPlaceSearchByTextRequest *request = [[GMSPlaceSearchByTextRequest alloc] initWithTextQuery:@"pizza in New York" placeProperties:@[GMSPlacePropertyName, GMSPlacePropertyPlaceID]]; request.isOpenNow = YES; request.includedType = @"restaurant"; request.maxResultCount = 5; request.minRating = 3.5; request.rankPreference = GMSPlaceSearchByTextRankPreferenceDistance; request.isStrictTypeFiltering = YES; request.priceLevels = @[ @(kGMSPlacesPriceLevelFree), @(kGMSPlacesPriceLevelCheap) ]; request.locationBias = GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0); // Array to hold the places in the response _placeResults = [NSArray array]; // Create the GMSPlaceSearchByTextRequest object. [_placesClient searchByTextWithRequest:request callback:^(NSArray<GMSPlace *> *_Nullable placeResults, NSError * _Nullable error) { if (error != nil) { NSLog(@"An error occurred %@", [error localizedDescription]); return; } else { if (placeResults.count > 0) { // Get list of places. _placeResults = placeResults; } } } ];
Places Swift SDK для iOS (предварительная версия)
let restriction = RectangularLocationRestriction( northEast: CLLocationCoordinate2D(latitude: 20, longitude: 30), southWest: CLLocationCoordinate2D(latitude: 40, longitude: 50) ) let searchByTextRequest = SearchByTextRequest( textQuery: "pizza in New York", placeProperties: [ .name, .placeID ], locationRestriction: restriction, includedType: .restaurant, maxResultCount: 5, minRating: 3.5, priceLevels: [ .moderate, .inexpensive ], isStrictTypeFiltering: true ) switch await placesClient.searchByText(with: searchByTextRequest) { case .success(let places): // Handle places case .failure(let placesError): // Handle error }
Ответы на текстовый поиск
API текстового поиска возвращает массив совпадений в виде объектов GMSPlace
, по одному объекту GMSPlace
на каждое совпадающее место.
Получить открытый статус
Объект GMSPlacesClient
содержит функцию-член isOpenWithRequest
( isOpenRequest
в Swift и isPlaceOpenRequest
в GooglePlacesSwift), которая возвращает ответ, указывающий, открыто ли место в данный момент, на основе времени, указанного в вызове.
Этот метод принимает один аргумент типа GMSPlaceIsOpenWithRequest
, который содержит:
- Объект
GMSPlace
или строка, определяющая идентификатор места. Подробнее о создании объекта Place с необходимыми полями см. в разделе Детали места . - Необязательный объект
NSDate
(Obj-C) илиDate
(Swift), указывающий время, которое вы хотите проверить. Если время не указано, по умолчанию используется значение «сейчас». - Метод
GMSPlaceOpenStatusResponseCallback
для обработки ответа. >
Для метода GMSPlaceIsOpenWithRequest
в объекте GMSPlace
необходимо задать следующие поля:
-
GMSPlacePropertyUTCOffsetMinutes
-
GMSPlacePropertyBusinessStatus
-
GMSPlacePropertyOpeningHours
-
GMSPlacePropertyCurrentOpeningHours
-
GMSPlacePropertySecondaryOpeningHours
Если эти поля не указаны в объекте Place или если вы передаете идентификатор места, метод использует GMSPlacesClient GMSFetchPlaceRequest:
для их получения.
Ответ isOpenWithRequest
isOpenWithRequest
возвращает объект GMSPlaceIsOpenResponse
, содержащий логическое значение с именем status
, которое указывает, открыто ли предприятие, закрыто или статус неизвестен.
Язык | Значение, если открыто | Значение, если закрыто | Значение, если статус неизвестен |
---|---|---|---|
Быстрый | .open | .closed | .unknown |
Цель-C | GMSPlaceOpenStatusOpen | GMSPlaceOpenStatusClosed | GMSPlaceOpenStatusUnknown |
GooglePlacesSwift (предварительная версия) | true | false | nil |
Выставление счетов за isOpenWithRequest
- Поля
GMSPlacePropertyUTCOffsetMinutes
иGMSPlacePropertyBusinessStatus
оплачиваются по номеру SKU базовых данных . Остальная часть часов работы оплачивается по номеру SKU «Сведения о месте» (расширенный). - Если ваш объект
GMSPlace
уже содержит эти поля из предыдущего запроса, с вас больше не будет взиматься плата.
Пример. Сделайте запрос GMSPlaceIsOpenWithRequest
В следующем примере показано, как инициализировать GMSPlaceIsOpenWithRequest
внутри существующего объекта GMSPlace
. Быстрый
let isOpenRequest = GMSPlaceIsOpenRequest(place: place, date: nil) GMSPlacesClient.shared().isOpen(with: isOpenRequest) { response, error in if let error = error { // Handle Error } switch response.status { case .open: // Handle open case .closed: // Handle closed case .unknown: // Handle unknown } }
Цель-C
GMSPlaceIsOpenRequest *isOpenRequest = [[GMSPlaceIsOpenRequest alloc] initWithPlace:place date:nil]; [[GMSPlacesClient sharedClient] isOpenWithRequest:isOpenRequest callback:^(GMSPlaceIsOpenResponse response, NSError *_Nullable error) { if (error) { // Handle error } switch (response.status) { case GMSPlaceOpenStatusOpen: // Handle open case GMSPlaceOpenStatusClosed: // Handle closed case GMSPlaceOpenStatusUnknown: // Handle unknown } }];
GooglePlacesSwift
let isOpenRequest = IsPlaceOpenRequest(place: place) switch await placesClient.isPlaceOpen(with: isOpenRequest) { case .success(let isOpenResponse): switch isOpenResponse.status { case true: // Handle open case false: // Handle closed case nil: // Handle unknown case .failure(let placesError): // Handle error }
Обязательные параметры
Используйте объект GMSPlaceSearchByTextRequest
, чтобы указать необходимые параметры поиска.
Список полей
Укажите, какие свойства данных места нужно вернуть. Передайте список свойств
GMSPlace
определяющих возвращаемые поля данных. Если вы опустите маску поля, запрос вернет ошибку.Списки полей — это хорошая практика проектирования, позволяющая избежать запроса ненужных данных, что помогает избежать ненужного времени обработки и расходов по счетам.
Укажите одно или несколько из следующих полей:
Следующие поля запускают SKU текстового поиска (только идентификатор) :
GMSPlacePropertyPlaceID
,GMSPlacePropertyName
Следующие поля активируют SKU текстового поиска (базовый) :
GMSPlacePropertyAddressComponents
,GMSPlacePropertyBusinessStatus
,GMSPlacePropertyFormattedAddress
,GMSPlacePropertyIconBackgroundColor
,GMSPlacePropertyIconImageURL
,GMSPlacePropertyCoordinate
,GMSPlacePropertyPhotos
,GMSPlacePropertyPlusCode
,GMSPlacePropertyTypes
, s,GMSPlacePropertyUTCOffsetMinutes
,GMSPlacePropertyViewport
,GMSPlacePropertyWheelchairAccessibleEntrance
Следующие поля активируют SKU текстового поиска (расширенный) :
GMSPlacePropertyCurrentOpeningHours
,GMSPlacePropertySecondaryOpeningHours
,GMSPlacePropertyPhoneNumber
,GMSPlacePropertyPriceLevel
,GMSPlacePropertyRating
,GMSPlacePropertyWebsite
,GMSPlacePropertyUserRatingsTotal
,GMSPlacePropertyOpeningHours
Следующие поля активируют SKU текстового поиска (предпочтительный) :
GMSPlacePropertyCurbsidePickup
,GMSPlacePropertyDelivery
,GMSPlacePropertyDineIn
,GMSPlacePropertyEditorialSummary
,GMSPlacePropertyReservable
,GMSPlacePropertyReviews
,GMSPlacePropertyServesBeer
,GMSPlacePropertyServesBreakfast
,GMSPlacePropertyServesBrunch
ПодачиБранч ,GMSPlacePropertyServesDinner
,GMSPlacePropertyServesLunch
,GMSPlacePropertyServesVegetarianFood
,GMSPlacePropertyServesWine
,GMSPlacePropertyTakeout
текстовый запрос
Текстовая строка для поиска, например: «ресторан», «123 Main Street» или «лучшее место для посещения в Сан-Франциско».
Дополнительные параметры
Используйте объект GMSPlaceSearchByTextRequest
, чтобы указать дополнительные параметры поиска.
включенный тип
Ограничивает результаты местами, соответствующими указанному типу, определенному в таблице A. Можно указать только один тип. Например:
-
request.includedType = "bar"
-
request.includedType = "pharmacy"
-
isOpenNow
Если
true
, возвращать только те места, которые открыты для бизнеса на момент отправки запроса. Еслиfalse
, вернуть все предприятия независимо от их открытого статуса. Места, для которых не указаны часы работы в базе данных Google Адресов, возвращаются, если для этого параметра установлено значениеfalse
.isStrictTypeFiltering
Используется с параметром
includeType
. Если установлено значениеtrue
, возвращаются только места, соответствующие указанным типам, указанным вincludeType
. Если значение false (по умолчанию), ответ может содержать места, не соответствующие указанным типам.Смещение местоположения
Указывает область для поиска. Это местоположение служит смещением, что означает, что могут быть возвращены результаты вокруг указанного местоположения, включая результаты за пределами указанной области.
Вы можете указать
locationRestriction
илиlocationBias
, но не оба сразу. Подумайте оlocationRestriction
как об указании региона, в котором должны находиться результаты, аlocationBias
как об указании региона, рядом с которым результаты должны находиться, но могут находиться за его пределами.Укажите область в виде прямоугольного видового экрана или круга.
Круг определяется центральной точкой и радиусом в метрах. Радиус должен находиться в диапазоне от 0,0 до 50000,0 включительно. Радиус по умолчанию — 0,0. Например:
request.locationBias = GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0)
Прямоугольник — это окно просмотра широты и долготы, представленное в виде двух диагонально противоположных нижней и верхней точек. Нижняя точка обозначает юго-западный угол прямоугольника, а верхняя точка представляет собой северо-восточный угол прямоугольника.
Область просмотра считается закрытой областью, то есть включает в себя ее границу. Границы широты должны находиться в диапазоне от -90 до 90 градусов включительно, а границы долготы должны находиться в диапазоне от -180 до 180 градусов включительно:
- Если
low
=high
, область просмотра состоит из этой единственной точки. - Если
low.longitude
>high.longitude
, диапазон долготы инвертируется (окно просмотра пересекает линию долготы в 180 градусов). - Если
low.longitude
= -180 градусов иhigh.longitude
= 180 градусов, область просмотра включает все значения долготы. - Если
low.longitude
= 180 градусов иhigh.longitude
= -180 градусов, диапазон долготы пуст. - Если
low.latitude
>high.latitude
, диапазон широт пуст.
- Если
МестоположениеОграничение
Указывает область для поиска. Результаты за пределами указанной области не возвращаются. Укажите регион в виде прямоугольного видового экрана. См. описание
locationBias
для получения информации об определении области просмотра.Вы можете указать
locationRestriction
илиlocationBias
, но не оба сразу. Подумайте оlocationRestriction
как об указании региона, в котором должны находиться результаты, аlocationBias
как об указании региона, рядом с которым результаты должны находиться, но могут находиться за его пределами.МаксРезультатКаунт
Указывает максимальное количество возвращаемых результатов размещения. Должно быть от 1 до 20 (по умолчанию) включительно.
минРейтинг
Ограничивает результаты только теми, чей средний рейтинг пользователей больше или равен этому пределу. Значения должны находиться в диапазоне от 0,0 до 5,0 (включительно) с шагом 0,5. Например: 0, 0,5, 1,0, ..., 5,0 включительно. Значения округляются до ближайших 0,5. Например, значение 0,6 исключает все результаты с рейтингом менее 1,0.
ценаУровни
Ограничьте поиск местами, отмеченными определенными ценовыми уровнями. По умолчанию выбираются все уровни цен.
Укажите массив из одного или нескольких значений, определенных
PriceLevel
.Например:
request.priceLevels = [GMSPlacesPriceLevel.moderate.rawValue, GMSPlacesPriceLevel.cheap.rawValue]
рангПредпочтение
Указывает, как результаты ранжируются в ответе в зависимости от типа запроса:
- Для категориального запроса, такого как «Рестораны в Нью-Йорке», по умолчанию используется
.relevance
(ранжирование результатов по релевантности поиска). Вы можете установить дляrankPreference
.relevance
или.distance
(ранжировать результаты по расстоянию). - Для некатегорийного запроса, такого как «Маунтин-Вью, Калифорния», мы рекомендуем оставить
rankPreference
неустановленным.
- Для категориального запроса, такого как «Рестораны в Нью-Йорке», по умолчанию используется
Код региона
Код региона, используемый для форматирования ответа в виде двухсимвольного значения кода CLDR . Этот параметр также может оказывать влияние на результаты поиска. Значения по умолчанию нет.
Если название страны в поле адреса в ответе соответствует коду региона, код страны в адресе опускается.
Большинство кодов CLDR идентичны кодам ISO 3166-1, за некоторыми заметными исключениями. Например, нДВУ Соединенного Королевства — «uk» (.co.uk), а его код ISO 3166-1 — «gb» (технически для организации «Соединенное Королевство Великобритании и Северной Ирландии»). Параметр может повлиять на результаты в соответствии с действующим законодательством.
Отображение авторства в вашем приложении
Когда ваше приложение отображает информацию, полученную от GMSPlacesClient
, например фотографии и обзоры, приложение также должно отображать необходимые сведения об авторстве.
Например, свойство reviews
объекта GMSPlacesClient
содержит массив, содержащий до пяти объектов GMSPlaceReview
. Каждый объект GMSPlaceReview
может содержать сведения об авторстве и авторстве. Если вы отображаете обзор в своем приложении, вы также должны указать указание авторства или авторство.
Дополнительную информацию см. в документации по атрибуции .
,Текстовый поиск возвращает информацию о наборе мест на основе строки. Например, «пицца в Нью-Йорке», «обувные магазины недалеко от Оттавы» или «Мейн-стрит, 123». Служба отвечает списком мест, соответствующих текстовой строке и любому заданному смещению местоположения.
Эта служба особенно полезна для выполнения неоднозначных адресных запросов в автоматизированной системе, поскольку неадресные компоненты строки могут соответствовать как предприятиям, так и адресам. Примерами неоднозначных адресных запросов являются плохо отформатированные адреса или запросы, включающие неадресные компоненты, например названия компаний. Запросы, подобные первым двум примерам, могут возвращать нулевые результаты, если не установлено местоположение (например, регион, ограничение местоположения или смещение местоположения).
«10 High Street, Великобритания» или «123 Main Street, США». | Несколько «Хай-стрит» в Великобритании; несколько «Мейн-стрит» в США. Запрос не возвращает желаемых результатов, если не установлено ограничение местоположения. |
«Сеть ресторанов Нью-Йорк» | Несколько сетевых ресторанов в Нью-Йорке; ни адреса, ни даже названия улицы. |
«10 High Street, Escher UK» или «123 Main Street, Pleasanton US» | Единственная «Хай-стрит» в британском городе Эшер; только одна «Мейн-стрит» в американском городе Плезантон, Калифорния. |
«UniqueRestaurantName Нью-Йорк» | В Нью-Йорке только одно заведение с таким названием; никакой адрес не нужен для различения. |
"пиццерии в Нью-Йорке" | Этот запрос содержит ограничение по местоположению, а «рестораны-пиццерии» – это четко определенный тип места. Он возвращает несколько результатов. |
"+1 514-670-8700" | Этот запрос содержит номер телефона. Он возвращает несколько результатов для мест, связанных с этим номером телефона. |
Получить список мест с помощью текстового поиска
Сделайте запрос текстового поиска, вызвав GMSPlacesClient searchByTextWithRequest:
, передав объект GMSPlaceSearchByTextRequest
, который определяет параметры запроса и метод обратного вызова типа GMSPlaceSearchByTextResultCallback
для обработки ответа.
Объект GMSPlaceSearchByTextRequest
указывает все обязательные и необязательные параметры запроса. К обязательным параметрам относятся:
- Список полей, возвращаемых в объекте
GMSPlace
, также называемый маской поля , как определеноGMSPlaceProperty
. Если вы не укажете хотя бы одно поле в списке полей или опустите список полей, вызов вернет ошибку. - Текстовый запрос .
В этом примере запроса текстового поиска указывается, что объекты ответа GMSPlace
содержат название места и идентификатор места для каждого объекта GMSPlace
в результатах поиска. Он также фильтрует ответ, чтобы возвращать только места типа «ресторан».
Быстрый
// Create the GMSPlaceSearchByTextRequest object. let myProperties = [GMSPlaceProperty.name, GMSPlaceProperty.placeID].map {$0.rawValue} let request = GMSPlaceSearchByTextRequest(textQuery:"pizza in New York", placeProperties:myProperties) request.isOpenNow = true request.includedType = "restaurant" request.maxResultCount = 5 request.minRating = 3.5 request.rankPreference = .distance request.isStrictTypeFiltering = true request.locationBias = GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0) // Array to hold the places in the response var placeResults: [GMSPlace] = [] let callback: GMSPlaceSearchByTextResultCallback = { [weak self] results, error in guard let self, error == nil else { if let error { print(error.localizedDescription) } return } guard let results = results as? [GMSPlace] else { return } placeResults = results } GMSPlacesClient.shared().searchByText(with: request, callback: callback)
Цель-C
// Create the GMSPlaceSearchByTextRequest object. GMSPlaceSearchByTextRequest *request = [[GMSPlaceSearchByTextRequest alloc] initWithTextQuery:@"pizza in New York" placeProperties:@[GMSPlacePropertyName, GMSPlacePropertyPlaceID]]; request.isOpenNow = YES; request.includedType = @"restaurant"; request.maxResultCount = 5; request.minRating = 3.5; request.rankPreference = GMSPlaceSearchByTextRankPreferenceDistance; request.isStrictTypeFiltering = YES; request.priceLevels = @[ @(kGMSPlacesPriceLevelFree), @(kGMSPlacesPriceLevelCheap) ]; request.locationBias = GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0); // Array to hold the places in the response _placeResults = [NSArray array]; // Create the GMSPlaceSearchByTextRequest object. [_placesClient searchByTextWithRequest:request callback:^(NSArray<GMSPlace *> *_Nullable placeResults, NSError * _Nullable error) { if (error != nil) { NSLog(@"An error occurred %@", [error localizedDescription]); return; } else { if (placeResults.count > 0) { // Get list of places. _placeResults = placeResults; } } } ];
Places Swift SDK для iOS (предварительная версия)
let restriction = RectangularLocationRestriction( northEast: CLLocationCoordinate2D(latitude: 20, longitude: 30), southWest: CLLocationCoordinate2D(latitude: 40, longitude: 50) ) let searchByTextRequest = SearchByTextRequest( textQuery: "pizza in New York", placeProperties: [ .name, .placeID ], locationRestriction: restriction, includedType: .restaurant, maxResultCount: 5, minRating: 3.5, priceLevels: [ .moderate, .inexpensive ], isStrictTypeFiltering: true ) switch await placesClient.searchByText(with: searchByTextRequest) { case .success(let places): // Handle places case .failure(let placesError): // Handle error }
Ответы на текстовый поиск
API текстового поиска возвращает массив совпадений в виде объектов GMSPlace
, по одному объекту GMSPlace
на каждое совпадающее место.
Получить открытый статус
Объект GMSPlacesClient
содержит функцию-член isOpenWithRequest
( isOpenRequest
в Swift и isPlaceOpenRequest
в GooglePlacesSwift), которая возвращает ответ, указывающий, открыто ли место в данный момент, на основе времени, указанного в вызове.
Этот метод принимает один аргумент типа GMSPlaceIsOpenWithRequest
, который содержит:
- Объект
GMSPlace
или строка, определяющая идентификатор места. Подробнее о создании объекта Place с необходимыми полями см. в разделе Детали места . - Необязательный объект
NSDate
(Obj-C) илиDate
(Swift), указывающий время, которое вы хотите проверить. Если время не указано, по умолчанию используется значение «сейчас». - Метод
GMSPlaceOpenStatusResponseCallback
для обработки ответа. >
Для метода GMSPlaceIsOpenWithRequest
в объекте GMSPlace
необходимо задать следующие поля:
-
GMSPlacePropertyUTCOffsetMinutes
-
GMSPlacePropertyBusinessStatus
-
GMSPlacePropertyOpeningHours
-
GMSPlacePropertyCurrentOpeningHours
-
GMSPlacePropertySecondaryOpeningHours
Если эти поля не указаны в объекте Place или если вы передаете идентификатор места, метод использует GMSPlacesClient GMSFetchPlaceRequest:
для их получения.
Ответ isOpenWithRequest
isOpenWithRequest
возвращает объект GMSPlaceIsOpenResponse
, содержащий логическое значение с именем status
, которое указывает, открыто ли предприятие, закрыто или статус неизвестен.
Язык | Значение, если открыто | Значение, если закрыто | Значение, если статус неизвестен |
---|---|---|---|
Быстрый | .open | .closed | .unknown |
Цель-C | GMSPlaceOpenStatusOpen | GMSPlaceOpenStatusClosed | GMSPlaceOpenStatusUnknown |
GooglePlacesSwift (предварительная версия) | true | false | nil |
Выставление счетов за isOpenWithRequest
- Поля
GMSPlacePropertyUTCOffsetMinutes
иGMSPlacePropertyBusinessStatus
оплачиваются по номеру SKU базовых данных . Остальная часть часов работы оплачивается по номеру SKU «Сведения о месте» (расширенный). - Если ваш объект
GMSPlace
уже содержит эти поля из предыдущего запроса, с вас больше не будет взиматься плата.
Пример. Сделайте запрос GMSPlaceIsOpenWithRequest
В следующем примере показано, как инициализировать GMSPlaceIsOpenWithRequest
внутри существующего объекта GMSPlace
. Быстрый
let isOpenRequest = GMSPlaceIsOpenRequest(place: place, date: nil) GMSPlacesClient.shared().isOpen(with: isOpenRequest) { response, error in if let error = error { // Handle Error } switch response.status { case .open: // Handle open case .closed: // Handle closed case .unknown: // Handle unknown } }
Цель-C
GMSPlaceIsOpenRequest *isOpenRequest = [[GMSPlaceIsOpenRequest alloc] initWithPlace:place date:nil]; [[GMSPlacesClient sharedClient] isOpenWithRequest:isOpenRequest callback:^(GMSPlaceIsOpenResponse response, NSError *_Nullable error) { if (error) { // Handle error } switch (response.status) { case GMSPlaceOpenStatusOpen: // Handle open case GMSPlaceOpenStatusClosed: // Handle closed case GMSPlaceOpenStatusUnknown: // Handle unknown } }];
GooglePlacesSwift
let isOpenRequest = IsPlaceOpenRequest(place: place) switch await placesClient.isPlaceOpen(with: isOpenRequest) { case .success(let isOpenResponse): switch isOpenResponse.status { case true: // Handle open case false: // Handle closed case nil: // Handle unknown case .failure(let placesError): // Handle error }
Обязательные параметры
Используйте объект GMSPlaceSearchByTextRequest
, чтобы указать необходимые параметры поиска.
Список полей
Укажите, какие свойства данных места нужно вернуть. Передайте список свойств
GMSPlace
определяющих возвращаемые поля данных. Если вы опустите маску поля, запрос вернет ошибку.Списки полей — это хорошая практика проектирования, позволяющая избежать запроса ненужных данных, что помогает избежать ненужного времени обработки и расходов по счетам.
Укажите одно или несколько из следующих полей:
Следующие поля запускают SKU текстового поиска (только идентификатор) :
GMSPlacePropertyPlaceID
,GMSPlacePropertyName
Следующие поля активируют SKU текстового поиска (базовый) :
GMSPlacePropertyAddressComponents
,GMSPlacePropertyBusinessStatus
,GMSPlacePropertyFormattedAddress
,GMSPlacePropertyIconBackgroundColor
,GMSPlacePropertyIconImageURL
,GMSPlacePropertyCoordinate
,GMSPlacePropertyPhotos
,GMSPlacePropertyPlusCode
,GMSPlacePropertyTypes
, s,GMSPlacePropertyUTCOffsetMinutes
,GMSPlacePropertyViewport
,GMSPlacePropertyWheelchairAccessibleEntrance
Следующие поля активируют SKU текстового поиска (расширенный) :
GMSPlacePropertyCurrentOpeningHours
,GMSPlacePropertySecondaryOpeningHours
,GMSPlacePropertyPhoneNumber
,GMSPlacePropertyPriceLevel
,GMSPlacePropertyRating
,GMSPlacePropertyWebsite
,GMSPlacePropertyUserRatingsTotal
,GMSPlacePropertyOpeningHours
Следующие поля активируют SKU текстового поиска (предпочтительный) :
GMSPlacePropertyCurbsidePickup
,GMSPlacePropertyDelivery
,GMSPlacePropertyDineIn
,GMSPlacePropertyEditorialSummary
,GMSPlacePropertyReservable
,GMSPlacePropertyReviews
,GMSPlacePropertyServesBeer
,GMSPlacePropertyServesBreakfast
,GMSPlacePropertyServesBrunch
ПодачиБранч ,GMSPlacePropertyServesDinner
,GMSPlacePropertyServesLunch
,GMSPlacePropertyServesVegetarianFood
,GMSPlacePropertyServesWine
,GMSPlacePropertyTakeout
текстовый запрос
Текстовая строка для поиска, например: «ресторан», «123 Main Street» или «лучшее место для посещения в Сан-Франциско».
Дополнительные параметры
Используйте объект GMSPlaceSearchByTextRequest
, чтобы указать дополнительные параметры поиска.
включенный тип
Ограничивает результаты местами, соответствующими указанному типу, определенному в таблице A. Можно указать только один тип. Например:
-
request.includedType = "bar"
-
request.includedType = "pharmacy"
-
isOpenNow
Если
true
, возвращать только те места, которые открыты для бизнеса на момент отправки запроса. Еслиfalse
, вернуть все предприятия независимо от их открытого статуса. Места, для которых не указаны часы работы в базе данных Google Адресов, возвращаются, если для этого параметра установлено значениеfalse
.isStrictTypeFiltering
Используется с параметром
includeType
. Если установлено значениеtrue
, возвращаются только места, соответствующие указанным типам, указанным вincludeType
. Если значение false (по умолчанию), ответ может содержать места, не соответствующие указанным типам.Смещение местоположения
Указывает область для поиска. Это местоположение служит смещением, что означает, что могут быть возвращены результаты вокруг указанного местоположения, включая результаты за пределами указанной области.
Вы можете указать
locationRestriction
илиlocationBias
, но не оба сразу. Подумайте оlocationRestriction
как об указании региона, в котором должны находиться результаты, аlocationBias
как об указании региона, рядом с которым результаты должны находиться, но могут находиться за его пределами.Укажите область в виде прямоугольного видового экрана или круга.
Круг определяется центральной точкой и радиусом в метрах. Радиус должен находиться в диапазоне от 0,0 до 50000,0 включительно. Радиус по умолчанию — 0,0. Например:
request.locationBias = GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0)
Прямоугольник — это окно просмотра широты и долготы, представленное в виде двух диагонально противоположных нижней и верхней точек. Нижняя точка обозначает юго-западный угол прямоугольника, а верхняя точка представляет собой северо-восточный угол прямоугольника.
Область просмотра считается закрытой областью, то есть включает в себя ее границу. Границы широты должны находиться в диапазоне от -90 до 90 градусов включительно, а границы долготы должны находиться в диапазоне от -180 до 180 градусов включительно:
- Если
low
=high
, область просмотра состоит из этой единственной точки. - Если
low.longitude
>high.longitude
, диапазон долготы инвертируется (окно просмотра пересекает линию долготы в 180 градусов). - Если
low.longitude
= -180 градусов иhigh.longitude
= 180 градусов, область просмотра включает все значения долготы. - Если
low.longitude
= 180 градусов иhigh.longitude
= -180 градусов, диапазон долготы пуст. - Если
low.latitude
>high.latitude
, диапазон широт пуст.
- Если
МестоположениеОграничение
Указывает область для поиска. Результаты за пределами указанной области не возвращаются. Укажите регион в виде прямоугольного видового экрана. См. описание
locationBias
для получения информации об определении области просмотра.Вы можете указать
locationRestriction
илиlocationBias
, но не оба сразу. Подумайте оlocationRestriction
как об указании региона, в котором должны находиться результаты, аlocationBias
как об указании региона, рядом с которым результаты должны находиться, но могут находиться за его пределами.МаксРезультатКаунт
Указывает максимальное количество возвращаемых результатов размещения. Должно быть от 1 до 20 (по умолчанию) включительно.
минРейтинг
Ограничивает результаты только теми, чей средний рейтинг пользователей больше или равен этому пределу. Значения должны находиться в диапазоне от 0,0 до 5,0 (включительно) с шагом 0,5. Например: 0, 0,5, 1,0, ..., 5,0 включительно. Значения округляются до ближайших 0,5. Например, значение 0,6 исключает все результаты с рейтингом менее 1,0.
ценаУровни
Ограничьте поиск местами, отмеченными определенным уровнем цен. По умолчанию выбираются все уровни цен.
Укажите массив из одного или нескольких значений, определенных
PriceLevel
.Например:
request.priceLevels = [GMSPlacesPriceLevel.moderate.rawValue, GMSPlacesPriceLevel.cheap.rawValue]
рангПредпочтение
Указывает, как результаты ранжируются в ответе в зависимости от типа запроса:
- Для категориального запроса, такого как «Рестораны в Нью-Йорке», по умолчанию используется
.relevance
(ранжирование результатов по релевантности поиска). Вы можете установить дляrankPreference
.relevance
или.distance
(ранжировать результаты по расстоянию). - Для некатегорийного запроса, такого как «Маунтин-Вью, Калифорния», мы рекомендуем оставить
rankPreference
неустановленным.
- Для категориального запроса, такого как «Рестораны в Нью-Йорке», по умолчанию используется
Код региона
Код региона, используемый для форматирования ответа в виде двухсимвольного значения кода CLDR . Этот параметр также может оказывать влияние на результаты поиска. Значения по умолчанию нет.
Если название страны в поле адреса в ответе соответствует коду региона, код страны в адресе опускается.
Большинство кодов CLDR идентичны кодам ISO 3166-1, за некоторыми заметными исключениями. Например, нДВУ Соединенного Королевства — «uk» (.co.uk), а его код ISO 3166-1 — «gb» (технически для организации «Соединенное Королевство Великобритании и Северной Ирландии»). Параметр может повлиять на результаты в соответствии с действующим законодательством.
Отображение авторства в вашем приложении
Когда ваше приложение отображает информацию, полученную от GMSPlacesClient
, например фотографии и обзоры, приложение также должно отображать необходимые сведения об авторстве.
Например, свойство reviews
объекта GMSPlacesClient
содержит массив, содержащий до пяти объектов GMSPlaceReview
. Каждый объект GMSPlaceReview
может содержать сведения об авторстве и авторстве. Если вы отображаете обзор в своем приложении, вы также должны указать любую ссылку или ссылку на автора.
Дополнительную информацию см. в документации по атрибуции .
,Текстовый поиск возвращает информацию о наборе мест на основе строки. Например, «пицца в Нью-Йорке», «обувные магазины недалеко от Оттавы» или «Мейн-стрит, 123». Служба отвечает списком мест, соответствующих текстовой строке и любому заданному смещению местоположения.
Эта служба особенно полезна для выполнения неоднозначных адресных запросов в автоматизированной системе, поскольку неадресные компоненты строки могут соответствовать как предприятиям, так и адресам. Примерами неоднозначных адресных запросов являются плохо отформатированные адреса или запросы, включающие неадресные компоненты, например названия компаний. Запросы, подобные первым двум примерам, могут возвращать нулевые результаты, если не установлено местоположение (например, регион, ограничение местоположения или смещение местоположения).
«10 High Street, Великобритания» или «123 Main Street, США». | Несколько «Хай-стрит» в Великобритании; несколько «Мейн-стрит» в США. Запрос не возвращает желаемых результатов, если не установлено ограничение местоположения. |
«Сеть ресторанов Нью-Йорк» | Несколько сетевых ресторанов в Нью-Йорке; ни адреса, ни даже названия улицы. |
«10 High Street, Escher UK» или «123 Main Street, Pleasanton US» | Единственная «Хай-стрит» в британском городе Эшер; только одна «Мейн-стрит» в американском городе Плезантон, Калифорния. |
«UniqueRestaurantName Нью-Йорк» | В Нью-Йорке только одно заведение с таким названием; никакой адрес не нужен для различения. |
"пиццерии в Нью-Йорке" | Этот запрос содержит ограничение по местоположению, а «рестораны-пиццерии» – это четко определенный тип места. Он возвращает несколько результатов. |
"+1 514-670-8700" | Этот запрос содержит номер телефона. Он возвращает несколько результатов для мест, связанных с этим номером телефона. |
Получить список мест с помощью текстового поиска
Сделайте запрос текстового поиска, вызвав GMSPlacesClient searchByTextWithRequest:
, передав объект GMSPlaceSearchByTextRequest
, который определяет параметры запроса и метод обратного вызова типа GMSPlaceSearchByTextResultCallback
для обработки ответа.
Объект GMSPlaceSearchByTextRequest
указывает все обязательные и необязательные параметры запроса. К обязательным параметрам относятся:
- Список полей, возвращаемых в объекте
GMSPlace
, также называемый маской поля , как определеноGMSPlaceProperty
. Если вы не укажете хотя бы одно поле в списке полей или опустите список полей, вызов вернет ошибку. - Текстовый запрос .
В этом примере запроса текстового поиска указывается, что объекты ответа GMSPlace
содержат название места и идентификатор места для каждого объекта GMSPlace
в результатах поиска. Он также фильтрует ответ, чтобы возвращать только места типа «ресторан».
Быстрый
// Create the GMSPlaceSearchByTextRequest object. let myProperties = [GMSPlaceProperty.name, GMSPlaceProperty.placeID].map {$0.rawValue} let request = GMSPlaceSearchByTextRequest(textQuery:"pizza in New York", placeProperties:myProperties) request.isOpenNow = true request.includedType = "restaurant" request.maxResultCount = 5 request.minRating = 3.5 request.rankPreference = .distance request.isStrictTypeFiltering = true request.locationBias = GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0) // Array to hold the places in the response var placeResults: [GMSPlace] = [] let callback: GMSPlaceSearchByTextResultCallback = { [weak self] results, error in guard let self, error == nil else { if let error { print(error.localizedDescription) } return } guard let results = results as? [GMSPlace] else { return } placeResults = results } GMSPlacesClient.shared().searchByText(with: request, callback: callback)
Цель-C
// Create the GMSPlaceSearchByTextRequest object. GMSPlaceSearchByTextRequest *request = [[GMSPlaceSearchByTextRequest alloc] initWithTextQuery:@"pizza in New York" placeProperties:@[GMSPlacePropertyName, GMSPlacePropertyPlaceID]]; request.isOpenNow = YES; request.includedType = @"restaurant"; request.maxResultCount = 5; request.minRating = 3.5; request.rankPreference = GMSPlaceSearchByTextRankPreferenceDistance; request.isStrictTypeFiltering = YES; request.priceLevels = @[ @(kGMSPlacesPriceLevelFree), @(kGMSPlacesPriceLevelCheap) ]; request.locationBias = GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0); // Array to hold the places in the response _placeResults = [NSArray array]; // Create the GMSPlaceSearchByTextRequest object. [_placesClient searchByTextWithRequest:request callback:^(NSArray<GMSPlace *> *_Nullable placeResults, NSError * _Nullable error) { if (error != nil) { NSLog(@"An error occurred %@", [error localizedDescription]); return; } else { if (placeResults.count > 0) { // Get list of places. _placeResults = placeResults; } } } ];
Places Swift SDK для iOS (предварительная версия)
let restriction = RectangularLocationRestriction( northEast: CLLocationCoordinate2D(latitude: 20, longitude: 30), southWest: CLLocationCoordinate2D(latitude: 40, longitude: 50) ) let searchByTextRequest = SearchByTextRequest( textQuery: "pizza in New York", placeProperties: [ .name, .placeID ], locationRestriction: restriction, includedType: .restaurant, maxResultCount: 5, minRating: 3.5, priceLevels: [ .moderate, .inexpensive ], isStrictTypeFiltering: true ) switch await placesClient.searchByText(with: searchByTextRequest) { case .success(let places): // Handle places case .failure(let placesError): // Handle error }
Ответы на текстовый поиск
API текстового поиска возвращает массив совпадений в виде объектов GMSPlace
, по одному объекту GMSPlace
на каждое совпадающее место.
Получить открытый статус
Объект GMSPlacesClient
содержит функцию-член isOpenWithRequest
( isOpenRequest
в Swift и isPlaceOpenRequest
в GooglePlacesSwift), которая возвращает ответ, указывающий, открыто ли место в данный момент, на основе времени, указанного в вызове.
Этот метод принимает один аргумент типа GMSPlaceIsOpenWithRequest
, который содержит:
- Объект
GMSPlace
или строка, указывающая идентификатор места. Для получения дополнительной информации о создании объекта Place с необходимыми полями см. Детали места . - Дополнительный объект
NSDate
(OBJ-C) илиDate
(SWIFT), указывающий время, которое вы хотели бы проверить. Если не указано время, дефолт сейчас. - Метод
GMSPlaceOpenStatusResponseCallback
для обработки ответа. >
Метод GMSPlaceIsOpenWithRequest
требует, чтобы следующие поля были установлены в объекте GMSPlace
:
-
GMSPlacePropertyUTCOffsetMinutes
-
GMSPlacePropertyBusinessStatus
-
GMSPlacePropertyOpeningHours
-
GMSPlacePropertyCurrentOpeningHours
-
GMSPlacePropertySecondaryOpeningHours
Если эти поля не представлены в объекте «Место», или если вы передаете идентификатор места, метод использует GMSPlacesClient GMSFetchPlaceRequest:
для их извлечения.
isOpenWithRequest
isOpenWithRequest
возвращает объект GMSPlaceIsOpenResponse
, содержащий логическое значение, названное status
, которое указывает, открыт ли бизнес, закрыт или статус неизвестен.
Язык | Значение, если открыто | Значение, если закрыто | Значение, если статус неизвестен |
---|---|---|---|
Быстрый | .open | .closed | .unknown |
Объектив-c | GMSPlaceOpenStatusOpen | GMSPlaceOpenStatusClosed | GMSPlaceOpenStatusUnknown |
GooglePlacessWift (Предварительный просмотр) | true | false | nil |
Биллинг за isOpenWithRequest
- Поля
GMSPlacePropertyUTCOffsetMinutes
иGMSPlacePropertyBusinessStatus
взимаются в рамках базовых данных SKU . Остальные часы работы взимаются под деталями места (продвинутая) SKU. - Если ваш объект
GMSPlace
уже имеет эти поля из предыдущего запроса, вас больше не будут взиматься.
Пример: сделайте запрос GMSPlaceIsOpenWithRequest
В следующем примере показано, как инициализировать GMSPlaceIsOpenWithRequest
в существующем объекте GMSPlace
. Быстрый
let isOpenRequest = GMSPlaceIsOpenRequest(place: place, date: nil) GMSPlacesClient.shared().isOpen(with: isOpenRequest) { response, error in if let error = error { // Handle Error } switch response.status { case .open: // Handle open case .closed: // Handle closed case .unknown: // Handle unknown } }
Объектив-c
GMSPlaceIsOpenRequest *isOpenRequest = [[GMSPlaceIsOpenRequest alloc] initWithPlace:place date:nil]; [[GMSPlacesClient sharedClient] isOpenWithRequest:isOpenRequest callback:^(GMSPlaceIsOpenResponse response, NSError *_Nullable error) { if (error) { // Handle error } switch (response.status) { case GMSPlaceOpenStatusOpen: // Handle open case GMSPlaceOpenStatusClosed: // Handle closed case GMSPlaceOpenStatusUnknown: // Handle unknown } }];
Googleplacesswift
let isOpenRequest = IsPlaceOpenRequest(place: place) switch await placesClient.isPlaceOpen(with: isOpenRequest) { case .success(let isOpenResponse): switch isOpenResponse.status { case true: // Handle open case false: // Handle closed case nil: // Handle unknown case .failure(let placesError): // Handle error }
Требуемые параметры
Используйте объект GMSPlaceSearchByTextRequest
, чтобы указать необходимые параметры для поиска.
Полевой список
Укажите, какие свойства данных поместите свойства для возврата. Передайте список свойств
GMSPlace
указывающие поля данных для возврата. Если вы опустите маску поля, запрос вернет ошибку.Полевые списки являются хорошей практикой дизайна, чтобы гарантировать, что вы не запросите ненужные данные, что помогает избежать ненужного времени обработки и платежных платежей.
Укажите одно или несколько из следующих полей:
Следующие поля запускают текстовый поиск (только идентификатор) SKU :
GMSPlacePropertyPlaceID
,GMSPlacePropertyName
Следующие поля запускают текстовый поиск (базовый) SKU :
GMSPlacePropertyAddressComponents
GMSPlacePropertyTypes
GMSPlacePropertyBusinessStatus
,GMSPlacePropertyFormattedAddress
,GMSPlacePropertyIconBackgroundColor
,GMSPlacePropertyViewport
,GMSPlacePropertyIconImageURL
GMSPlacePropertyWheelchairAccessibleEntrance
GMSPlacePropertyCoordinate
,GMSPlacePropertyPhotos
,GMSPlacePropertyUTCOffsetMinutes
,GMSPlacePropertyPlusCode
Следующие поля запускают текстовый поиск (расширенный) SKU :
GMSPlacePropertyCurrentOpeningHours
,GMSPlacePropertySecondaryOpeningHours
,GMSPlacePropertyPhoneNumber
,GMSPlacePropertyPriceLevel
,GMSPlacePropertyRating
,GMSPlacePropertyWebsite
,GMSPlacePropertyUserRatingsTotal
,GMSPlacePropertyOpeningHours
Следующие поля запускают текстовый поиск (предпочтительный) SKU :
GMSPlacePropertyCurbsidePickup
,GMSPlacePropertyDelivery
,GMSPlacePropertyDineIn
,GMSPlacePropertyEditorialSummary
,GMSPlacePropertyReservable
,GMSPlacePropertyReviews
,GMSPlacePropertyServesBeer
GMSPlacePropertyServesVegetarianFood
GMSPlacePropertyServesWine
GMSPlacePropertyServesBrunch
,GMSPlacePropertyServesDinner
,GMSPlacePropertyServesLunch
,GMSPlacePropertyServesBreakfast
,GMSPlacePropertyTakeout
Textquery
Текстовая строка, на которой можно найти, например: «Ресторан», «123 Main Street» или «Лучшее место для посещения в Сан -Франциско».
Дополнительные параметры
Используйте объект GMSPlaceSearchByTextRequest
, чтобы указать необязательные параметры для поиска.
Включено
Ограничивает результаты местами, соответствующими указанному типу, определяемому таблицей A. Может быть указан только один тип. Например:
-
request.includedType = "bar"
-
request.includedType = "pharmacy"
-
Изопенноу
Если
true
, верните только те места, которые открыты для бизнеса в то время, когда запрос отправлен. Еслиfalse
, верните все предприятия независимо от открытого статуса. Места, в которых не указываются часы работы в базе данных Google Place, возвращаются, если вы установите этот параметр вfalse
.IssstrictTyPefiltering
Используется с параметром
includeType
. При установкеtrue
, возвращаются только места, которые соответствуют указанным типам, указаннымincludeType
. При false, по умолчанию, ответ может содержать места, которые не соответствуют указанным типам.местоположение
Указывает область для поиска. Это место служит смещением, что означает, что результаты вокруг указанного места могут быть возвращены, включая результаты за пределами указанной области.
Вы можете указать
locationRestriction
илиlocationBias
, но не оба. Подумайте оlocationRestriction
как указание области, в которой должны быть результаты, иlocationBias
как указание области, которая должна быть близко, но может быть за пределами области.Укажите область как прямоугольный просмотр или круг.
Круг определяется центральной точкой и радиусом в метрах. Радиус должен быть от 0,0 до 50000,0, включительно. Радиус по умолчанию составляет 0,0. Например:
request.locationBias = GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0)
Прямоугольник представляет собой широту длительного просмотра, представленный как два диагонали напротив низких и высоких точек. Низкая точка отмечает юго -западный угол прямоугольника, а высокая точка представляет северо -восточный угол прямоугольника.
Viewport считается закрытой областью, что означает, что он включает в себя свою границу. Границы широты должны варьироваться от -90 до 90 градусов включено, а границы долготы должны варьироваться от -180 до 180 градусов включено:
- Если
low
=high
, топорт Views состоит из этой единственной точки. - Если
low.longitude
>high.longitude
. - Если
low.longitude
= -180 градусов иhigh.longitude
. - Если
low.longitude
= 180 градусов иhigh.longitude
Longity = -180 градусов, диапазон долготы пуст. - Если
low.latitude
>high.latitude
, диапазон широты пуст.
- Если
местоположение
Указывает область для поиска. Результаты за пределами указанной области не возвращаются. Укажите область как прямоугольный просмотр. См. Описание
locationBias
для получения информации о определении видового порта.Вы можете указать
locationRestriction
илиlocationBias
, но не оба. Подумайте оlocationRestriction
как указание области, в которой должны быть результаты, иlocationBias
как указание области, которая должна быть близко, но может быть за пределами области.maxresultcount
Указывает максимальное количество результатов места для возврата. Должен быть от 1 до 20 (по умолчанию) включительно.
мантируется
Ограничивает результаты только теми, чьи средний пользовательский рейтинг больше или равен этому пределу. Значения должны быть от 0,0 до 5,0 (включительно) с шагом 0,5. Например: 0, 0,5, 1,0, ..., 5,0 включительно. Значения окружаются до ближайшего 0,5. Например, значение 0,6 устраняет все результаты с рейтингом менее 1,0.
Pricelevels
Ограничьте поиск местами, которые отмечены на определенных уровнях цен. По умолчанию - выбрать все уровни цен.
Укажите массив одного или нескольких значений, определенных
PriceLevel
.Например:
request.priceLevels = [GMSPlacesPriceLevel.moderate.rawValue, GMSPlacesPriceLevel.cheap.rawValue]
RankPreference
Указывает, как результаты ранжируются в ответ на основе типа запроса:
- Для категориального запроса, такого как «рестораны в Нью -Йорке»,.
.relevance
(Rank Results по актуальности поиска) является дефолтом. Вы можете установитьrankPreference
на.relevance
.distance
. - Для некатегорического запроса, такого как «Mountain View, CA», мы рекомендуем вам оставить
rankPreference
unset.
- Для категориального запроса, такого как «рестораны в Нью -Йорке»,.
регион код
Код региона, используемый для форматирования ответа, указанный как двуххарактерное значение CLDR . Этот параметр также может иметь эффект смещения на результаты поиска. Там нет значения по умолчанию.
Если название страны поля адреса в ответе соответствует коду региона, код страны опущен по адресу.
Большинство кодов CLDR идентичны кодам ISO 3166-1, за некоторыми заметными исключениями. Например, CCTLD в Великобритании-«Великобритания» (.co.uk), в то время как его ISO 3166-1-«ГБ» (технически для сущности «Соединенное Королевство Великобритании и Северная Ирландия»). Параметр может повлиять на результаты на основе применимого закона.
Отображать атрибуции в вашем приложении
Когда ваше приложение отображает информацию, полученную из GMSPlacesClient
, такую как фотографии и отзывы, приложение также должно отображать необходимые атрибуты.
Например, свойство reviews
объекта GMSPlacesClient
содержит массив до пяти объектов GMSPlaceReview
. Каждый объект GMSPlaceReview
может содержать атрибуты и атрибуты автора. Если вы отображаете обзор в вашем приложении, то вы также должны отобразить какую -либо атрибуцию или атрибуцию автора.
Для получения дополнительной информации см. Документацию по атрибутам .