GMSPlacesClient 类参考


概览

Places SDK 的主接口。

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

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

公共成员函数

(void) - lookUpPlaceID:callback
 获取某个地点的详细信息。
(void) - lookUpPhotosForPlaceID:callback
 获取与某个地点关联的最多 10 张照片的元数据。
(void) - loadPlacePhoto: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:
 获取地点的详细信息,包括确定指定 NSDateGMSPlaceOpenStatus 所需的所有字段。
(void) - isOpenWithPlace:callback
 获取地点的详细信息,包括确定当前时间的 GMSPlaceOpenStatus 所需的所有字段。
(void) - isOpenWithPlace:date:callback:
 获取地点的详细信息,包括确定指定 NSDateGMSPlaceOpenStatus 所需的所有字段。
(void) - searchByTextWithRequest:callback
 根据文字和限制条件搜索地点。

静态公共成员函数

(instancetype)+ 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 结果, NSError *_Nullable 错误)
 用于接收自动补全结果的回调类型。
typedef void(^)GMSPlacePhotoMetadataResultCallback )(GMSPlacePhotoMetadataList *_Nullable photos, NSError *_Nullable 错误)
 用于接收地点照片结果的回调类型。
typedef void(^)GMSPlacePhotoImageResultCallback )(UIImage *_Nullable photo, NSError *_Nullable 错误)
 用于从 GMSPlacePhotoMetadata 对象接收 UIImage 对象的回调类型。
typedef void(^)GMSPlaceOpenStatusCallback )(GMSPlaceOpenStatus 结果,NSError *_Nullable 错误)
 用于接收地点的营业时间状态的回调类型。
typedef void(^)GMSPlaceSearchByTextResultCallback )(NSArray< GMSPlace * > *_Nullable places, NSError *_Nullable 错误)
 用于接收按文本搜索结果的回调类型。

成员函数文档

+(实例类型)sharedClient

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

如果您的应用经常使用GMSPlacesClient的方法,您可能需要直接持有此对象,否则系统可能会定期重新启动您与 Google 的连接。

+ (BOOL) provideAPIKey (NSString *) 

向 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) loadPlacePhoto: (GMSPlacePhotoMetadata *) photoMetadata
回调: (GMSPlacePhotoImageResultCallback) 回调

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

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

参数:
photoMetadata要为其加载 UIImageGMSPlacePhotoMetadata
callback要使用已加载的 UIImage 调用的回调。
- (void) loadPlacePhoto: (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要应用于结果的过滤条件。此参数可以为零。
sessionToken要将请求与结算会话关联的 GMSAutocompleteSessionToken
callback要对预测结果调用的回调函数。
- (void) fetchPlaceFromPlaceID: (NSString *)  placeID
placeFields: (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) 回调

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

此方法是非阻塞的。

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

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

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

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

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

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

参数:
地点要查找的 GMSPlace
date用于确定其打开状态的 NSDate
callback要通过地点结果调用的回调函数。
- (void) searchByTextWithRequest: (GMSPlaceSearchByTextRequest *) textSearchRequest
回调: (GMSPlaceSearchByTextResultCallback) 回调

根据文字和限制条件搜索地点。

此方法是非阻塞的。

参数:
textSearchRequestGMSPlaceSearchByTextRequest:要用于查询的文本请求。
callback要使用查询结果调用的回调函数。

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

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

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

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

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

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

参数:
结果一个 GMSAutocompletePrediction 数组。
error发生的错误(如果有)。
- (typedef void(^ GMSPlacePhotoMetadataResultCallback)(GMSPlacePhotoMetadataList *_Nullable photos, NSError *_Nullable 错误) [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发生的错误(如果有)。
- (typedef void(^ GMSPlaceSearchByTextResultCallback)(NSArray< GMSPlace * > *_Nullable places, NSError *_Nullable error)) [related]

用于接收按文本搜索结果的回调类型。

results 是一个 GMSPlace 数组,表示与查询匹配的单个结果。

参数:
结果一个 GMSPlace 数组。
error发生的错误(如果有)。