[swift] Google Map Place Picker実装方法
目次
Google Map Place Picker実装方法
Place Pickerとは指定位置周辺のスポットを表示させる機能
住所やスポット名からも検索が可能なので、アプリに位置情報検索機能をつけることができる
ただし使用制限があるため、GoogleMAPの使用制限をよく読むこと
GoogleMAP使用制限
PodFile
PodFileに下記Podを指定して、PodをInstallする
pod 'GooglePlacePicker'
AppDelegate
GoogleMapのAPIKeyをAppDelegeteに実装
*既にGoogleMap APIKeyを実装している場合は不要
let cGoogleMapsAPIKey = "APIキー" func application(application: UIApplication, didFinishLaunchingWithOptions GMSServices.provideAPIKey(cGoogleMapsAPIKey) //for Google MAP GMSPlacesClient.provideAPIKey(cGoogleMapsAPIKey) }
ViewController
GooglePlacePickerをImportするのを忘れないように
import GooglePlacePickervar placePicker: GMSPlacePicker?
var latitude: CLLocationDegrees = 1.304843 //Singapore
var longitude: CLLocationDegrees = 103.831824 //Singaporefunc pickPlace(sender: UIButton) {
let center = CLLocationCoordinate2DMake(latitude, longitude)
let northEast = CLLocationCoordinate2DMake(center.latitude + 0.001, center.longitude + 0.001)
let southWest = CLLocationCoordinate2DMake(center.latitude - 0.001, center.longitude - 0.001)
let viewport = GMSCoordinateBounds(coordinate: northEast, coordinate: southWest)
let config = GMSPlacePickerConfig(viewport: viewport)
placePicker = GMSPlacePicker(config: config)placePicker?.pickPlaceWithCallback({ (place: GMSPlace?, error: NSError?) -> Void in
if let error = error {
print("Pick Place error: \(error.localizedDescription)")
return
}if let place = place {
//取得できた場合の処理
//latitudeはplace.coordinate.latitude
//longitudeはplace.coordinate.longitudeで取得可能
}
})
}