Google Maps SDK for iOS에서 현재 위치 보기
8453 단어 iOSSwiftGoogleMapsAPI
소개
Google Maps SDK for iOS를 사용할 기회가 많기 때문에,
비망록으로서 Google Map을 앱상에 표시→현재 위치를 표시하는 곳까지를 정리해 두고 싶습니다.
개발 환경
구현
다음과 같은 Step으로 나누어 구현합니다.
1. Google Maps SDK for iOS Key 얻기
여기의 단계에 따라 API Key 가져 오기
2. Google Map을 앱에 표시
여기 을 따라 앱에 표시
Cocoapods 설치
여기 를 참고로 Cocoapods 를 인스톨 해
Podfile 편집
Podfile
source 'https://github.com/CocoaPods/Specs.git'
target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
pod 'GoogleMaps'
end
pod install 실행
$ pod install
AppDelegate.swift로 키 등록
AppDelegate.swift
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
GMSServices.provideAPIKey({input your API key})
return true
}
지도를 앱에 표시
ViewController.swift
import UIKit
import GoogleMaps
class ViewController: UIViewController {
var mapView = GMSMapView()
override func viewDidLoad() {
super.viewDidLoad()
setupMap()
}
private func setupMap() {
// GoogleMapの初期位置(仮で東京駅付近に設定)
let camera = GMSCameraPosition.camera(withLatitude: 35.6812226, longitude: 139.7670594, zoom: 12.0)
mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
view = mapView
}
현재 위치를 지도에 표시
현재 위치를 얻으려면 사용자에게 현재 위치 취득 권한을 요청해야합니다.
이 부분도 Google Maps SDK 문서 에 기재되어 있으므로, 이쪽을 따라 진행해 갑니다
1. 위치 정보를 얻기 위해 Info.plist 편집
Info.plist
<key>NSLocationWhenInUseUsageDescription</key>
<string>現在地を表示するために使用します.</string>
이번에는 앱 사용 중에만 위치 정보를 얻기 위해
Privacy - Location When In Use Usage Description
를 작성했습니다.항상 위치 정보를 얻으려면
Privacy - Location Always and When In Use Usage Description
2. 위치 정보 취득의 다이얼로그를 표시한다
ViewController.swift
var locationManager = CLLocationManager() // 追記
override func viewDidLoad() {
requestLoacion() // 追記
}
private func setupMap() {
...
mapView.isMyLocationEnabled = true // 追記
view = mapView
}
// 以下、追記
private func requestLoacion() {
// ユーザにアプリ使用中のみ位置情報取得の許可を求めるダイアログを表示
locationManager.requestWhenInUseAuthorization()
// 常に取得したい場合はこちら↓
// locationManager.requestAlwaysAuthorization()
}
이상을 추가하고 다시 빌드를 실행해 보면 다음과 같은 대화 상자가 표시됩니다
위의 대화 상자에서
Allow While Using App
또는 Allow Once
를 선택하면지도에 파란색 마커가 표시되는지 궁금합니다.Simulator에서 현재 위치 보기
Simulator에서 동작을 확인한 경우 위의 흐름에서 현재 위치를 볼 수 없을 수 있습니다.
이 경우 Simulator의 GPS 설정을 변경해야합니다.
Simulator를 선택한 상태에서,
Debug -> Location -> Custom Location
를 선택합니다.표시되는 View 에 임의의 좌표를 넣어 주면 그 위치가 현재 위치로서 표시되게 됩니다
ex)東京駅付近
Latitude: 35.681223
Longitude: 139.767059
끝에
이제 Google Map에서 현재 위치를 볼 수 있습니다.
Reference
이 문제에 관하여(Google Maps SDK for iOS에서 현재 위치 보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nwatabou/items/38f4240582d70a4d84a8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Google Maps SDK for iOS에서 현재 위치 보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nwatabou/items/38f4240582d70a4d84a8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)