Tag: 自动完成

使用Mapbox API创建iOS地点选择器/地点自动完成/搜索UI

尽管Mapbox不如Google受欢迎,但Mapbox提供了一个非常有用的Places API,由于Google API引入了有关其服务的计费方式,因此许多人可能会喜欢它。 Mapbox没有为Places提供iOS SDK,因此我们将使用基于其Geocoder API的端点来发出请求并获取位置。 入门 在开始之前,请在mapbox.com/signup上注册一个帐户。 在帐户页面上找到您的访问令牌。 打开信息。 plist文件和以下密钥,其值是第一步中从MapBox收到的访问令牌。 MGLMapboxAccessToken YOUR_TOKEN 假设您已经创建了XCode项目,请将这些Pod添加到Podfile中。 pod’Mapbox-iOS-SDK’,’〜> 4.9′ pod’MapboxGeocoder.swift’,’〜> 0.10′ 豆荚“ Alamofire” pod’Alamofire-SwiftyJSON’ 我们将使用Alamofire来请求对Mapbox API端点的请求,并使用SwiftyJSON来解析响应。 在您的终端中,运行“ pod install”。 设置UI 假设您已经创建了Xcode项目,请添加一个UIViewController,并确保将其嵌入在UINavigationController中,因为我们会将UISearchBar添加到导航栏中。 添加一个UITableView来完全填充视图,并在ViewController Swift类文件中为其创建出口。 导入必要的模块 导入UIKit 进口Alamofire 导入SwiftyJSON 导入Alamofire_SwiftyJSON 实施代表 类PlacesSearchVC:UIViewController,UITableViewDelegate,UITableViewDataSource,UISearchBarDelegate { 覆盖func viewDidLoad(){ super.viewDidLoad() } } 在类内部,声明对象 @IBOutlet var tableView:UITableView! //向您在情节提要中创建的表格视图的出口 var searchActive:Bool = false //用于控制搜索状态 var searchBar:UISearchBar? […]