概览
Places SDK 的主接口。
用于搜索地点和获取地点详情。此类应通过 [GMSPlacesClient sharedClient] 方法进行访问。
GMSPlacesClient方法只能从主线程调用。从其他线程调用这些方法将导致异常或未定义的行为。除非另有说明,否则所有回调都将在主线程上调用。
公共成员函数 | |
(void) | - lookUpPlaceID:callback: |
获取某个地点的详细信息。 | |
(void) | - fetchAutocompleteSuggestionsFromRequest: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: |
获取地点的详细信息,包括确定指定 NSDate 的 GMSPlaceOpenStatus 所需的所有字段。 | |
(void) | - isOpenWithPlace:callback: |
获取地点的详细信息,包括确定当前时间的 GMSPlaceOpenStatus 所需的所有字段。 | |
(void) | - isOpenWithPlace:date:callback: |
获取地点的详细信息,包括确定指定 NSDate 的 GMSPlaceOpenStatus 所需的所有字段。 | |
(void) | - searchByTextWithRequest:callback: |
根据文字和限制条件搜索地点。 | |
(void) | - fetchPlaceWithRequest:callback: |
使用请求对象获取地点。 | |
(void) | - fetchPhotoWithRequest:callback: |
使用照片提取请求请求照片。 | |
(void) | - searchNearbyWithRequest: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 错误) |
用于接收按文本搜索结果的回调类型。 | |
typedef void(^) | GMSFetchPhotoResultCallback )(UIImage *_Nullable photoImage, NSError *_Nullable 错误) |
用于接收照片的回调类型。 | |
typedef void(^) | GMSAutocompleteSuggestionsCallback )(NSArray< GMSAutocompleteSuggestion * > *_Nullable 结果, NSError *_Nullable 错误) |
自动补全结果的回调类型。 | |
typedef void(^) | GMSPlaceSearchNearbyResultCallback )(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 要使用查询结果调用的回调函数。
- 注意:
- 此 API 已废弃。此方法已被
fetchPlaceWithRequest:callback:
取代,并将在未来的版本中移除。
- (void) fetchAutocompleteSuggestionsFromRequest: | (GMSAutocompleteRequest *) | 要求 | |
回调: | (GMSAutocompleteSuggestionsCallback) | 回调 | |
根据文本查询查找自动补全建议。
结果可能会偏向于特定位置或仅限于某个区域。此方法是非阻塞的。
如果调用成功,系统会使用一组自动填充建议,并在出现错误时使用 NSError 来调用所提供的回调函数。
- 参数:
-
request GMSAutocompleteRequest
请求自动补全。callback 要使用建议调用的回调函数。
- (void) lookUpPhotosForPlaceID: | (NSString *) | placeID | |
回调: | (GMSPlacePhotoMetadataResultCallback) | 回调 | |
获取与某个地点关联的最多 10 张照片的元数据。
照片来自于不同的地点,包括商家所有者和 Google+ 用户提供的照片。在大多数情况下,使用这些照片时可以不包含提供方说明,或将必需的提供方说明作为图片的一部分。不过,您必须使用响应中的 attributions
属性来检索所需的任何其他提供方说明,并在您的应用中显示相应图片的任何位置显示这些提供方说明。最多返回 10 张照片。
多次调用此方法可能会每次返回相同的照片。不过,无法保证这一点,因为底层数据可能已发生变化。
此方法会执行网络查询。
- 参数:
-
placeID 要为其查找照片的地点 ID。 callback 要使用查询结果调用的回调函数。
- (void) loadPlacePhoto: | (GMSPlacePhotoMetadata *) | photoMetadata | |
回调: | (GMSPlacePhotoImageResultCallback) | 回调 | |
以最大尺寸加载特定照片的图片。
图片数据可以由 SDK 缓存。如果缓存中不存在请求的照片,则会执行网络查找。
- 参数:
-
photoMetadata 要为其加载 UIImage
的GMSPlacePhotoMetadata
。callback 要使用已加载的 UIImage
调用的回调。
- (void) loadPlacePhoto: | (GMSPlacePhotoMetadata *) | photoMetadata | |
constraintToSize: | (CGSize) | maxSize | |
: | (CGFloat) | 缩放 | |
回调: | (GMSPlacePhotoImageResultCallback) | 回调 | |
加载特定照片的图片,该图片会进行缩放以适应指定的最大尺寸。
图片会在保持原始宽高比的同时,缩放至适合指定尺寸。这种扩缩在服务器端执行。
如果 scale 参数不是 1.0,则 maxSize 将乘以此值,并将返回的 UIImage
设置为具有指定的比例。如果您要加载要在屏幕上显示的图片,则应将此参数设置为屏幕尺寸。
图片数据可以由 SDK 缓存。如果缓存中不存在请求的照片,则会执行网络查找。
- 注意:
- 应用缩放比例后,maxSize 中的尺寸将向上舍入为最接近的整数,然后才能使用。如果请求的图片大于可用大小上限,则可能会返回一张较小的图片。
- 参数:
-
photoMetadata 要为其加载 UIImage
的GMSPlacePhotoMetadata
。maxSize 图片的大小上限。 和 WAF 图片的加载比例。 callback 要使用已加载的 UIImage
调用的回调。
- (void) currentPlaceWithCallback: | (GMSPlaceLikelihoodListCallback) | callback |
返回设备当前已知所在位置的估算值。
根据设备最近一次的估计位置生成地点可能性列表。在成功时使用此可能性列表调用所提供的回调函数,并在出现错误时返回 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 要使用查询结果调用的回调函数。
- 注意:
- 此 API 已废弃。此方法已被
fetchPlaceWithRequest:callback: 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) | 回调 | |
- (void) isOpenWithPlace: | (GMSPlace *) | 地点 | |
日期: | (NSDate *) | 日期 | |
回调: | (GMSPlaceOpenStatusCallback) | 回调 | |
获取地点的详细信息,包括确定指定 NSDate
的 GMSPlaceOpenStatus
所需的所有字段。
仅当 GMSPlace
未包含所有必填字段时,才请求其他字段,否则为 GMSPlaceOpenStatus\ will be returned in the callback immediately. This method is non-blocking.
- Parameters:
-
place The GMSPlace
to lookup.
date The NSDate
to determine open status for.
callback The callback to invoke with the place result.
- (void) searchByTextWithRequest: | (GMSPlaceSearchByTextRequest *) | textSearchRequest | |
回调: | (GMSPlaceSearchByTextResultCallback) | 回调 | |
根据文字和限制条件搜索地点。
此方法是非阻塞的。
- 参数:
-
textSearchRequest GMSPlaceSearchByTextRequest
:要用于查询的文本请求。callback 要使用查询结果调用的回调函数。
- (void) fetchPlaceWithRequest: | (GMSFetchPlaceRequest *) | fetchPlaceRequest | |
回调: | (GMSPlaceResultCallback) | 回调 | |
使用请求对象获取地点。
此方法是非阻塞的。
- 参数:
-
fetchPlaceRequest GMSFetchPlaceRequest
:用于查询的提取地点请求。callback 要通过地点结果调用的回调函数。
- (void) fetchPhotoWithRequest: | (GMSFetchPhotoRequest *) | fetchPhotoRequest | |
回调: | (GMSFetchPhotoResultCallback) | 回调 | |
使用照片提取请求请求照片。
此方法是非阻塞的。
- 参数:
-
fetchPhotoRequest GMSFetchPhotoRequest
:要使用的照片请求。callback 要使用 NSURL
结果调用的回调。
- (void) searchNearbyWithRequest: | (GMSPlaceSearchNearbyRequest *) | searchNearbyRequest | |
回调: | (GMSPlaceSearchNearbyResultCallback) | 回调 | |
搜索某个位置和限制附近的地点。
此方法是非阻塞的。
- 参数:
-
searchNearbyRequest GMSPlaceSearchNearbyRequest
:要用于查询的“搜索附近”请求。callback 要使用查询结果调用的回调函数。
好友及相关功能文档
- (typedef void(^ GMSPlaceResultCallback)(GMSPlace *_Nullable result, NSError *_Nullable error)) [related] |
- (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] |
- (typedef void(^ GMSFetchPhotoResultCallback)(UIImage *_Nullable photoImage, NSError *_Nullable error)) [related] |
用于接收照片的回调类型。
photoImage
是表示所生成照片与指定请求相匹配的 UIImage
。如果发生错误,photoImage
将为 nil,并且 error
将包含错误的相关信息。
- 参数:
-
photoImage UIImage
结果。
- (typedef void(^ GMSAutocompleteSuggestionsCallback)(NSArray< GMSAutocompleteSuggestion * > *_Nullable results, NSError *_Nullable 错误)) [related] |
自动补全结果的回调类型。
- 参数:
-
结果 一个 GMSAutocompleteSuggestion
数组。error 发生的错误(如果有)。
- (typedef void(^ GMSPlaceSearchNearbyResultCallback)(NSArray< GMSPlace * > *_Nullable places, NSError *_Nullable error)) [related] |
用于接收附近搜索结果的回调类型。
- 参数:
-
个地点 GMSPlace
的数组error 发生的错误(如果有)。