<GMSAutocompleteViewController 委派> 通訊協定參考資料

<GMSAutocompleteViewControllerApproval> 通訊協定參考資料

總覽

GMSAutocompleteViewController 使用的通訊協定,用於將使用者與控制器之間的互動傳送至應用程式。

公開成員函式

(void) - viewController:didAutocompleteWithPlace:
 從可用的自動完成預測清單中選取地點時,會呼叫此方法。
(void) - viewController:didFailAutocompleteWithError:
 擷取自動完成預測或 Place Details 時,發生無法重試的錯誤時呼叫。
(void) - 已取消:
 當使用者輕觸 GMSAutocompleteViewController 中的「取消」按鈕時呼叫。
(BOOL) - viewController:didSelectPrediction:
 使用者從清單選取自動預測結果,但在要求 Place Details 之前,會呼叫此方法。
(void) - didUpdateAutocompletePredictions:
 每次收到新的自動完成預測時呼叫一次。
(void) - didRequestAutocompletePredictions:
 在提出自動完成預測的要求後,會立即呼叫一次。

成員函式說明文件

- (void) viewController: (GMSAutocompleteViewController *) viewController
doAutocompleteWithPlace: (GMSPlace *) place
[required]

從可用的自動完成預測清單中選取地點時,會呼叫此方法。

實作這個方法應關閉檢視控制器,因為檢視控制器不會自行關閉。

參數:
viewController產生事件的 GMSAutocompleteViewController
地點傳回的 GMSPlace
- (void) viewController: (GMSAutocompleteViewController *) viewController
doFailAutocompleteWithError: (NSError *) 錯誤
[required]

擷取自動完成預測或 Place Details 時,發生無法重試的錯誤時呼叫。

所謂不可重試的錯誤,是指無法透過立即重試的方式修正。

只有下列 GMSPlacesErrorCode 的值可重試:

  • kGMSPlacesNetworkError
  • kGMSPlacesServerError
  • kGMSPlacesInternalError

所有其他錯誤代碼都無法重試。

參數:
viewController產生事件的 GMSAutocompleteViewController
錯誤傳回的 NSError
- (void) 已取消: (GMSAutocompleteViewController *) viewController [required]

當使用者輕觸 GMSAutocompleteViewController 中的「取消」按鈕時呼叫。

實作這個方法應關閉檢視控制器,因為檢視控制器不會自行關閉。

參數:
viewController產生事件的 GMSAutocompleteViewController
- (BOOL) viewController: (GMSAutocompleteViewController *) viewController
hasSelectPrediction: (GMSAutocompletePrediction *) 預測
[optional]

使用者從清單選取自動預測結果,但在要求 Place Details 之前,會呼叫此方法。

透過這個方法傳回 NO 時,系統會隱藏地點詳細資料擷取作業,而且不會呼叫 doAutocompleteWithPlace。

參數:
viewController產生事件的 GMSAutocompleteViewController
預測所選的 GMSAutocompletePrediction

每次收到新的自動完成預測時呼叫一次。

參數:
viewController產生事件的 GMSAutocompleteViewController

在提出自動完成預測的要求後,會立即呼叫一次。

參數:
viewController產生事件的 GMSAutocompleteViewController