[swift] Google Map Place Picker実装方法

目次

Google Map Place Picker実装方法

Place Pickerとは指定位置周辺のスポットを表示させる機能
住所やスポット名からも検索が可能なので、アプリに位置情報検索機能をつけることができる

placepicker-ios

ただし使用制限があるため、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 GooglePlacePicker

var placePicker: GMSPlacePicker?
var latitude: CLLocationDegrees = 1.304843 //Singapore
var longitude: CLLocationDegrees = 103.831824 //Singapore

func 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で取得可能
}
})
}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です