具有Google,Xcode和Swift-3的自动完成地点选择器
具有Google,Xcode和Swift-3的自动完成地点选择器
我想在照片中添加位置。 我想以instagram的方式来做:以模态呈现,一旦选择一个位置就消失。 我遇到了Google地图Google的地点选择器。 看起来是这样的:
步骤1:
在项目的PodFile中安装以下Pod:
pod“ GooglePlaces”
pod'GooglePlacePicker'
pod'GoogleMaps'
第2步:
获取API密钥:
https://console.developers.google.com
要么
https://developers.google.com/places/
第三步:
将以下内容添加到您的AppDelegate中:
导入GooglePlaces
和(_:didFinishLaunchingWithOptions 🙂
GMSPlacesClient.provideAPIKey(“ YOUR_API_KEY ”)
步骤4:
在用户界面上创建一个按钮,该按钮将以模态显示位置选择器视图:
*不要忘记将委托分配给自己
类ViewController:UIViewController {
@IBAction func autocompleteClicked(_发件人:UIButton){
让placePickerController = GMSAutocompleteViewController()
placePickerController.delegate =自我
present(placePickerControllerController,动画:true,完成:无)
}
}
步骤5:
实现所需的功能:
如果需要将地点分配给某些东西,则可以在GMSAutocompletViewController,didAutocompleteWith地点中进行:GMSPlace
扩展ViewController:GMSAutocompleteViewControllerDelegate {
//处理用户的选择。
func viewController(_ viewController:GMSAutocompleteViewController,didAutocompleteWithplace:GMSPlace){
print(“地名:\(place.name)”)
print(“地址:\(place.formattedAddress)”)
print(“地点归因:\(place.attributions”“)
关闭(动画:true,完成:nil)
}
func viewController(_ viewController:GMSAutocompleteViewController,didFailAutocompleteWithError错误:错误){
// TODO:处理错误。
print(“ Error:”,error.localizedDescription)
}
//用户取消了该操作。
func wasCancelled(_ viewController:GMSAutocompleteViewController){
关闭(动画:true,完成:nil)
}
//打开和关闭网络活动指示灯。
func didRequestAutocompletePredictions(_ viewController:GMSAutocompleteViewController){
UIApplication.shared.isNetworkActivityIndicatorVisible = true
}
func didUpdateAutocompletePredictions(_ viewController:GMSAutocompleteViewController){
UIApplication.shared.isNetworkActivityIndicatorVisible = false
}
}
而已!