ゴール
Google Map APIを使って、スマホ画面に地図を表示する。
基本的には [こちら][link] の記事と [公式サイト][link2] を踏襲して実装していく。
[link]:https://blog.codecamp.jp/iphone-app-develope-original-googlemap
[link2]:https://developers.google.com/maps/gmp-get-started#create-billing-account
ライブラリ管理とは何ぞや
グーグルマップAPIを自分のプロジェクトに導入するときに、「CocoaPods」と言うライブラリ管理ツールを経由してインストールするみたい。
新規でSingle View Appを作成
作成しようと思うと、「Single View App」がない。
こちら によるとXcode12からは、「Single View App」→「app」に変更された模様。
名称の変更だけかと思いきや、構成ファイルも違う。
公式によると AppDelegade.swift にAPIキーの記述が必要とあるので、
こちら と こちら を参考に「LifeSycle」を「UiKit App Delegade」に変更、interfaceを「storyboard」に変更してプロジェクトを作成。
すると、「AppDelegade」「ViewController」が出現。
SceneDelegadeに関しては、必要になったときに以下を参照することにする。
PG実装
あとは [こちらの記事][link] と [公式][link2] を参考に、
1- Podfileの作成(公式の通りGoogle Maps APIは最新版を指定)
2- コマンドラインでCocoaPods経由でGoogle Maps APIをインストール
3- xcworkspaceファイルを起動
4- AppDelegadeにAPIキー追加
func application(_ application: UIApplication, didFinishLaunchingWithOptions
launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
GMSServices.provideAPIKey("API Key")
return true
}
5- ViewControllerにPG追加
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
// Create a GMSCameraPosition that tells the map to display the
// coordinate -33.86,151.20 at zoom level 6.
let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0)
let mapView = GMSMapView.map(withFrame: self.view.frame, camera: camera)
self.view.addSubview(mapView)
// Creates a marker in the center of the map.
let marker = GMSMarker()
marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
marker.title = "Sydney"
marker.snippet = "Australia"
marker.map = mapView
}
成果
Google Mapをスマホ画面上に表示できました。
次は検索欄の追加、指定した場所にピンを指す。的なことを実装したいと思います。