GMSPlacesClient 类参考


概览

Places SDK 的主接口。

用于搜索和获取地点详情。此类应通过 [GMSPlacesClient sharedClient] 方法进行访问。

GMSPlacesClient方法只能从主线程调用。从其他线程调用这些方法将会导致异常或未定义的行为。除非另有说明,否则所有回调都将在主线程上调用。

公开成员函数

(void) - lookUpPlaceID:callback
 获取某个地点的详细信息。
(void) - lookUpPhotosForPlaceID:callback
 获取与某个地点关联的最多 10 张照片的元数据。
(void) - loadPlace Photo:callback
 以最大尺寸加载特定照片的图片。
(void) - loadPlacePhoto:constrainedToSize:scale:callback:
 用于加载特定照片的图片,该图片会进行缩放以适应指定的最大尺寸。
(void) - currentPlaceWithCallback
 返回已知设备当前所在位置的估算值。
(void) - findAutocompletePredictionsFromQuery:filter:sessionToken:callback:
 根据文本查询查找自动补全预测结果。
(void) - fetchPlaceFromPlaceID:placeFields:sessionToken:callback:
 提取地点的详细信息。
(void) - findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:callback:
 使用用户的当前位置查找地点可能性。
(void) - isOpenWithPlaceID:callback
 获取某个地点的详细信息,包括确定当前 GMSPlaceOpenStatus 所需的所有字段。
(void) - isOpenWithPlaceID:date:callback:
 获取地点的详细信息,包括确定指定 NSDate 处的 GMSPlaceOpenStatus 所需的所有字段。
(void) - isOpenWithPlace:callback
 获取某个地点的详细信息,包括确定当前 GMSPlaceOpenStatus 所需的所有字段。
(void) - isOpenWithPlace:date:callback:
 获取地点的详细信息,包括确定指定 NSDate 处的 GMSPlaceOpenStatus 所需的所有字段。

静态公开成员函数

(实例类型)+ sharedClient
 为 Google Places SDK for iOS 提供GMSPlacesClient的共享实例,并在必要时创建该实例。
(BOOL) + provideAPIKey:
 向 Google Places SDK for iOS 提供您的 API 密钥。
(NSString *) + openSourceLicenseInfo
 返回 Google Places SDK for iOS 的开源软件许可信息。
(NSString *) 新增了 SDKVersion
 返回此版本的 Google Places SDK for iOS 版本。
(NSString *) 新增了 SDKLongVersion
 返回此版本的 Google Places SDK for iOS 的完整版本。

(请注意,这些并非成员函数。)

typedef void(^)GMSPlaceResultCallback )(GMSPlace *_Nullable 结果, NSError *_Nullable 错误)
 用于接收地点详情查询的回调类型。
typedef void(^)GMSPlaceLikelihoodListCallback )(GMSPlaceLikelihoodList *_Nullable likelihoodList, NSError *_Nullable 错误)
 用于接收地点可能性列表的回调类型。
typedef void(^)GMSPlaceLikelihoodsCallback )(NSArray< GMSPlaceLikelihood * > *_Nullable likelihoods, NSError *_Nullable 错误)
 用于接收 GMSPlaceLikelihood 数组的回调类型。
typedef void(^)GMSAutocompletePredictionsCallback )(NSArray< GMSAutocompletePrediction * > *_Nullable results, NSError *_Nullable 错误)
 用于接收自动补全结果的回调类型。
typedef void(^)GMSPlacePhotoMetadataResultCallback )(GMSPlacePhotoMetadataList *_Nullable 照片, NSError *_Nullable 错误)
 用于接收地点照片结果的回调类型。
typedef void(^)GMSPlacePhotoImageResultCallback )(UIImage *_Nullable photo, NSError *_Nullable error)
 用于从 GMSPlacePhotoMetadata 对象接收 UIImage 对象的回调类型。
typedef void(^)GMSPlaceOpenStatusCallback )(GMSPlaceOpenStatus 结果,NSError *_Nullable 错误)
 用于接收地点营业时间状态的回调类型。

成员函数文档

+(实例类型)sharedClient

为 Google Places SDK for iOS 提供GMSPlacesClient的共享实例,并在必要时创建该实例。

如果您的应用经常使用GMSPlacesClient的方法,您可能需要直接保留此对象,否则您的应用可能会定期重新启动。

+ (BOOL) provideAPIKey (NSString *)  key

向 Google Places SDK for iOS 提供您的 API 密钥。

此密钥通过 Google Cloud Platform Console 为您的应用生成,并与您应用的软件包 ID 配对,以标识它。在使用GMSPlacesClient之前(例如,在 application:didFinishLaunchingWithOptions: 中),您的应用应调用此方法。

返回
如果 APIKey 已成功提供,则为“是”。
+ (NSString *) openSourceLicenseInfo

返回 Google Places SDK for iOS 的开源软件许可信息。

您必须在申请中提供这些信息。

+ (NSString *) SDKVersion

返回此版本的 Google Places SDK for iOS 版本。

。例如“1.0.0”。

+ (NSString *) SDKLongVersion

返回此版本的 Google Places SDK for iOS 的完整版本。

。例如“1.0.0 (102.1)”。

- (void)lookUpPlaceID: (NSString *)  placeID
回调: (GMSPlaceResultCallback) 回调

获取某个地点的详细信息。

此方法是非阻塞的。

参数:
placeID要查询的地点 ID。
callback要通过查询结果调用的回调函数。
- (void)lookUpPhotosForPlaceID: (NSString *)  placeID
回调: (GMSPlacePhotoMetadataResultCallback) 回调

获取与某个地点关联的最多 10 张照片的元数据。

照片来自不同的地点,包括商家所有者和 Google+ 用户贡献的照片。在大多数情况下,使用这些照片时可以不包含提供方说明,或者可以在图片中包含必要的提供方说明。不过,您必须在响应中使用 attributions 属性来检索所需的任何其他提供方说明,并在任何显示图片的位置在应用中显示这些提供方说明。最多返回 10 张照片。

多次调用此方法可能会每次都返回相同的照片。不过,不能保证做到这一点,因为底层数据可能已发生变化。

此方法会执行网络查找。

参数:
placeID要为其查找照片的地点 ID。
callback要通过查询结果调用的回调函数。
- (void) loadPlace Photo: (GMSPlacePhotoMetadata *) photoMetadata
回调: (GMSPlacePhotoImageResultCallback) 回调

以最大尺寸加载特定照片的图片。

SDK 可能会缓存图片数据。如果缓存中不存在请求的照片,则会执行网络查找。

参数:
photoMetadata要加载 UIImageGMSPlacePhotoMetadata
callback要使用已加载的 UIImage 调用的回调。
- (void) loadPlace Photo: (GMSPlacePhotoMetadata *) photoMetadata
constraintToSize: (CGSize) maxSize
(CGFloat) 规模
回调: (GMSPlacePhotoImageResultCallback) 回调

用于加载特定照片的图片,该图片会进行缩放以适应指定的最大尺寸。

系统将缩放图片以适应指定尺寸,同时保持原始图片的宽高比。这种扩缩在服务器端执行。

如果 scale 参数不是 1.0,则 maxSize 将与此值相乘,并且返回的 UIImage 将设置为具有指定的比例。如果您要加载要在屏幕上显示的图片,则应将此参数设置为屏幕尺寸。

SDK 可能会缓存图片数据。如果缓存中不存在请求的照片,则会执行网络查找。

注意:
应用缩放比例后,maxSize 中的尺寸将向上舍入为最接近的整数,然后再使用。如果请求的图片大于可用的大小上限,则可能会返回一张较小的图片。
参数:
photoMetadata要加载 UIImageGMSPlacePhotoMetadata
maxSize图片的大小上限。
和 WAF图片的加载比例。
callback要使用已加载的 UIImage 调用的回调。

返回已知设备当前所在位置的估算值。

根据设备最近的估计位置生成地点可能性列表。如果成功,系统将使用此可能性列表调用所提供的回调函数;如果发生错误,则会调用 NSError。

注意:
此方法要求您的应用有权访问当前设备位置信息。调用此方法之前,请确保使用 [CLLocationManager requestWhenInUseAuthorization] 或 [CLLocationManager requestAlwaysAuthorization] 请求对用户位置信息的访问权限。如果您调用此方法,但应用没有正确的授权状态,则调用该回调函数时会显示错误。
参数:
callback要使用地点可能性列表调用的回调。
- (void) findAutocompletePredictionsFromQuery: (NSString *)  query
过滤条件: (可为 null 的 GMSAutocompleteFilter *) filter
sessionToken : (可为 null 的 GMSAutocompleteSessionToken *) sessionToken
回调: (GMSAutocompletePredictionsCallback) 回调

根据文本查询查找自动补全预测结果。

结果可选择偏向于特定位置或仅限于某个区域。此方法是非阻塞的。

如果成功,则会使用一组自动填充预测结果调用所提供的回调函数,并在出现错误时通过一个 NSError 来调用。

参数:
个查询要自动补全的部分文本。
filter要应用于结果的过滤条件。此参数可以为 nil。
sessionToken用于将请求与结算会话关联的 GMSAutocompleteSessionToken
callback要对预测调用的回调。
- (void) fetchPlaceFromPlaceID: (NSString *)  placeID
placeField: (GMSPlaceField) placeFields
sessionToken : (可为 null 的 GMSAutocompleteSessionToken *) sessionToken
回调: (GMSPlaceResultCallback) 回调

提取地点的详细信息。

此方法是非阻塞的。

参数:
placeID要查询的地点 ID。
placeFields为列表中的地点对象请求的各个地点字段。
sessionToken用于将请求与结算会话关联的 GMSAutocompleteSessionToken
callback要通过查询结果调用的回调函数。
- (void) findPlaceLikelihoodsFromCurrentLocationWithPlaceFields: (GMSPlaceField) placeFields
回调: (GMSPlaceLikelihoodsCallback) 回调

使用用户的当前位置查找地点可能性。

此方法是非阻塞的。

所提供的回调函数将在成功时通过地点数组调用可能性得分,并在出现错误时通过 NSError 调用。

参数:
placeFields为列表中的地点对象请求的各个地点字段。
callback要使用地点可能性调用的回调。
- (void) isOpenWithPlaceID: (NSString *)  placeID
回调: (GMSPlaceOpenStatusCallback) 回调

获取某个地点的详细信息,包括确定当前 GMSPlaceOpenStatus 所需的所有字段。

此方法是非阻塞的。

参数:
placeID要查询的地点 ID。
callback要通过地点结果调用的回调。
- (void) isOpenWithPlaceID: (NSString *)  placeID
日期: (NSDate *) 日期
回调: (GMSPlaceOpenStatusCallback) 回调

获取地点的详细信息,包括确定指定 NSDate 处的 GMSPlaceOpenStatus 所需的所有字段。

此方法是非阻塞的。

参数:
placeID要查询的地点 ID。
date要为其确定打开状态的 NSDate
callback要通过地点结果调用的回调。
- (void) isOpenWithPlace: (GMSPlace *) 地点
回调: (GMSPlaceOpenStatusCallback) 回调

获取某个地点的详细信息,包括确定当前 GMSPlaceOpenStatus 所需的所有字段。

仅当 GMSPlace 未包含所有必填字段时,才请求其他字段,否则回调中会立即返回 GMSPlaceOpenStatus。此方法是非阻塞的。

参数:
地点要查找的 GMSPlace
callback要通过地点结果调用的回调。
- (void) isOpenWithPlace: (GMSPlace *) 地点
日期: (NSDate *) 日期
回调: (GMSPlaceOpenStatusCallback) 回调

获取地点的详细信息,包括确定指定 NSDate 处的 GMSPlaceOpenStatus 所需的所有字段。

仅在 GMSPlace 未包含所有必填字段时请求其他字段,否则为 GMSPlaceOpenStatus\ will be returned in the callback immediately. This method is non-blocking.

Parameters:
placeThe GMSPlace to lookup.
dateThe NSDate to determine open status for.
callbackThe callback to invoke with the place result.


- (typedef void(^ GMSPlaceResultCallback)(GMSPlace *_Nullable result, NSError *_Nullable error)) [related]

用于接收地点详情查询的回调类型。

如果出现错误,result 将为 nil,并且 error 将包含有关错误的信息。

参数:
结果返回的 GMSPlace
error发生的错误(如果有)。
- (typedef void(^ GMSPlaceLikelihoodListCallback)(GMSPlaceLikelihoodList *_Nullable likelihoodList, NSError *_Nullable error) [related]

用于接收地点可能性列表的回调类型。

如果出现错误,likelihoodList 将为 nil,并且 error 将包含有关错误的信息。

参数:
likelihoodList地点可能性的列表。
error发生的错误(如果有)。
- (typedef void(^ GMSPlaceLikelihoodsCallback)(NSArray< GMSPlaceLikelihood * > *_Nullable likelihoods, NSError *_Nullable error)) [related]

用于接收 GMSPlaceLikelihood 数组的回调类型。

如果发生错误,数组将为 nil,并且 error 将包含有关错误的信息。

- (typedef void(^ GMSAutocompletePredictionsCallback)(NSArray< GMSAutocompletePrediction * > *_Nullable results, NSError *_Nullable error)) [related]

用于接收自动补全结果的回调类型。

results 是一个 GMSAutocompletePredictions 数组,表示查询的候选完成情况。

参数:
结果GMSAutocompletePrediction 的数组。
error发生的错误(如果有)。
- (typedef void(^ GMSPlacePhotoMetadataResultCallback)(GMSPlacePhotoMetadataList *_Nullable photos, NSError *_Nullable error)) [related]

用于接收地点照片结果的回调类型。

如果出现错误,photos 将为 nil,并且 error 将包含有关错误的信息。

参数:
照片包含 GMSPlacePhotoMetadata 对象的结果。
error发生的错误(如果有)。
- (typedef void(^ GMSPlacePhotoImageResultCallback)(UIImage *_Nullable photo, NSError *_Nullable error)) [related]

用于从 GMSPlacePhotoMetadata 对象接收 UIImage 对象的回调类型。

如果出现错误,photo 将为 nil,并且 error 将包含有关错误的信息。

参数:
照片已加载的 UIImage
error发生的错误(如果有)。
- (typedef void(^ GMSPlaceOpenStatusCallback)(GMSPlaceOpenStatus 结果, NSError *_Nullable error)) [related]

用于接收地点营业时间状态的回调类型。

如果发生错误,result 将为 GMSPlaceOpenStatusUnknown,并且 error 将包含有关该错误的信息。

参数:
结果返回的 GMSPlaceOpenStatus
error发生的错误(如果有)。