具有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.isNetworkActivityIndi​​catorVisible = true
}

func didUpdateAutocompletePredictions(_ viewController:GMSAutocompleteViewController){
UIApplication.shared.isNetworkActivityIndi​​catorVisible = false
}

}

而已!