๋จผ์ , ๊ตฌ๊ธ ํด๋ผ์ฐ๋ ํ๋ซํผ์ ํ๋ก์ ํธ๋ฅผ ์์ฑํด์ค๋ค.
๊ทธ๋ฆฌ๊ณ ํ๋ก์ ํธ์์ ๋ฐ๋์ ๊ฒฐ์ ๊ณ์ ์ผ๋ก ๋ณ๊ฒฝํด์ฃผ์ด์ผ ํ๋ค. ์๊ทธ๋ฌ๋ฉด ๊ฒ์์ ํ์ ๋ ์๋ํ๋ฉด์ฒ๋ผ ๋ ๊ฒ์์ ์ ํํ๋ค.
๊ฒฐ์ ๊ณ์ ์ผ๋ก ๋ณ๊ฒฝํ๋ ๋ฒ ์ผ์ชฝ ์๋จ์ ํ๋ฒ๊ฑฐ๋ฒํผ์ ๋๋ฅด๊ณ ๊ฒฐ์ ๋ถ๋ถ์ ํด๋ฆญํ๋ฉด ์๋์ ๊ฐ์ ํ๋ฉด์ด ๋ฌ๋ค.
๊ทธ๋ฆฌ๊ณ ๊ฒฐ์ ๊ณ์ ์ฐ๊ฒฐ์ ํด์ค ๋ค
๋ค์ ํ๋ฒ๊ฑฐ๋ฒํผ์ ๋๋ฅด๊ณ API ๋ฐ ์๋น์ค์ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ๋ค์ด๊ฐ์ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ๋ง๋ค๊ธฐ๋ฅผ ๋๋ฅด๊ณ API ํค๋ฅผ ๋ง๋ค์ด์ค๋ค.
API ํค๋ ๋์ค์ ์ค์ ํ ๋ ์ฐ์ด๋ ์ ์ ์ด๋๋ค.
์ ๋ ๊ฒ ๋ ธ๋ ๋๋ํ ๋ชจ์์ด ๋จ๋ ๊ฑด ์ ํ ์ค์ ์ ํด์ฃผ๋ผ๋ ๋ป์ด๋ค.
๋ ธ๋์ ๋๋ํ๋ชจ์์ ํด๋ฆญํ๋ฉด ์ค์ ์์ ์ด ๋จ๋๋ฐ ๊ฑฐ๊ธธ ๋ค์ด๊ฐ์
iOS์ฑ , ์ฌ์ฉํ๊ณ ์๋ ๋ฒ๋ค ID, ํค ์ ํ ๊ทธ๋ฆฌ๊ณ ์ฌ์ฉํ๊ณ ์๋ API (์ง๊ธ์ Places API๋ฐ์ ์์ผ๋ฏ๋ก ๊ทธ๊ฒ๋ง ์ค์ ) ์ ์ค์ ํด์ค๋ค.
๋ฒ๋ค ์์ด๋ ์์๋ด๋ ๋ฒ์ xcode์ ๋ค์ด๊ฐ์ ๋งจ ์ข์ธก ๋ฒํผ์ ๋๋ฅด๋ฉด ์๋์ ๊ฐ์ ํ๋ฉด์ด ๋จ๋๋ฐ ๊ฑฐ๊ธฐ์ Bundle Identifier์ ์ฃผ์๋ฅผ ์ ์ด์ค๋ค.
๊ทธ๋ฆฌ๊ณ API ๋ฐ ์๋น์ค์ ๋์๋ณด๋๋ก ์ด๋ํด์ ์๋น์ค ์ฌ์ฉ ์ค์ ์ ํด์ค๋ค.
+์ฌ์ฉ ์ค์ ์ ๋๋ฅด๋ฉด ์๋์ ๊ฐ์ ํ๋ฉด์ด ๋จ๋๋ฐ ๊ฑฐ๊ธฐ์ Places API๋ฅผ ๊ฒ์ํด์ ๋๋ฅธ ๋ค ์ฌ์ฉ ์ค์ ์ ๋๋ฌ์ค๋ค.
์ด๋ ๊ฒ ํ๋ฉด ๊ตฌ๊ธ ํด๋ผ์ฐ๋ ํ๋ซํผ์์ ํ ์ผ์ ๋์ด๋ค! ์ด์ xcode๋ก ๋์๊ฐ์ podfile์ GooglePlaces๋ฅผ ์ถ๊ฐํด์ค๋ค. ๊ทธ๋ฆฌ๊ณ ํฐ๋ฏธ๋์ cd ํด๋นํ์ผ์์น๋ฅผ ์ ๋ ฅํ๊ณ pod install์ ํด์ค๋ค.
๊ทธ๋ฆฌ๊ณ ํด๋น ๋ทฐ์ปจํธ๋กค๋ฌ๋ก ์ด๋ํด์ GooglePlaces๋ฅผ import๋ฅผ ํด์ค๋ค.
๊ทธ๋ฆฌ๊ณ ํด๋น ๋ทฐ์ปจํธ๋กค๋ฌ์ ์๋ ์ฝ๋๋ฅผ ์ถ๊ฐํด์ค๋ค.
override func viewDidLoad() {
super.viewDidLoad()
let controller = GMSAutocompleteViewController() //๊ตฌ๊ธ ์๋์์ฑ ๋ทฐ์ปจํธ๋กค๋ฌ ์์ฑ
controller.delegate = self //๋๋ฆฌ๊ฒ์ดํธ
present(controller, animated: true, completion: nil) //๋ณด์ฌ์ฃผ๊ธฐ
}
extension ViewController: GMSAutocompleteViewControllerDelegate { //ํด๋น ๋ทฐ์ปจํธ๋กค๋ฌ๋ฅผ ์ต์คํ
์
์ผ๋ก ๋๋ฆฌ๊ฒ์ดํธ๋ฅผ ๋ฌ์์ค๋ค.
func viewController(_ viewController: GMSAutocompleteViewController, didAutocompleteWith place: GMSPlace) {
print("Place name: \(String(describing: place.name))") //์
ํญํ ๊ธ์จ์ถ๋ ฅ
dismiss(animated: true, completion: nil) //ํ๋ฉด๊บผ์ง๊ฒ
} //์ํ๋ ์
ํญํ์ ๋ ๊บผ์ง๊ฒ
func viewController(_ viewController: GMSAutocompleteViewController, didFailAutocompleteWithError error: Error) {
print(error.localizedDescription)//์๋ฌ๋ฌ์ ๋ ์ถ๋ ฅ
} //์คํจํ์ ๋
func wasCancelled(_ viewController: GMSAutocompleteViewController) {
dismiss(animated: true, completion: nil) //ํ๋ฉด ๊บผ์ง๊ฒ
} //์บ์ฌ๋ฒํผ ๋๋ ์ ๋ ํ๋ฉด ๊บผ์ง๊ฒ
}
์๋ ํ๋ฉด์ ๋ณด๋ฉด ์ ๋ ฅํ ํ ์คํธ์ ๋ฐ๋ผ ์๋์ผ๋ก ์ฃผ์ ์ฐํ๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
๋๊ธ