구글 맵SDK를 사용하여 맵 표시
기본적으로공식. 그렇습니다.
SDK 가입
Podfile에 다음 내용을 적고 두드리기pod install
target 'hogehoge' do
pod 'GoogleMaps'
pod 'GooglePlaces'
end
지도 보이기
먼저 공식 Get The APIKey에서 APIKey 항목을 선택하고 가져옵니다.
APIkey를 가져오면 Appdelegate가 표시됩니다.swit-application(: d i d F inishLaunchingWithOptions:) 방법을 사용하여 응용 프로그램에 넣기import GoogleMaps
import GooglePlaces
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
GMSServices.provideAPIKey("取得したAPIKeyを入れる")
GMSPlacesClient.provideAPIKey("取得したAPIKeyを入れる")
return true
}
준비가 되었으므로 이제 디스플레이 맵 설치를 시작합니다.
위도 경도를 지정하여 GMSCamera Position 인스턴스를 생성하고 이를 사용하여 GMSMapView 인스턴스를 생성합니다.import GoogleMaps
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func loadView() {
// マップに指定の緯度経度の場所を指定の倍率で表示するように指示
let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 10.0)
// GMSMapViewインスタンスを生成
let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
view = mapView
}
}
사용자가 맵에서 Google logo를 클릭하면 Google Maps SDK for iOS를 통해 브라우저 버전의 Google Map이 열립니다.
목표 좌표에 동그라미를 그리다
override func loadView() {
let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 10.0)
let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
view = mapView
// 追加箇所
// markerはピンの場所
let marker = GMSMarker()
marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
marker.title = "Sydney"
marker.snippet = "Australia"
marker.map = mapView
}
소재지 표시
# 인증 요청을 위해 info.plist 구성
iOS 애플리케이션에서 사용자의 개인 정보 보호를 받으려면 라이센스가 필요합니다.
미리 info.plist의 Privacy - Location When In Use Usage Description
에서 (이 프로그램이 위치 정보를 얻는 등) 위치 정보를 사용하는 뜻을 기재해야 한다.
다음 세 개의 응용 프로그램은 사용자로부터 인증을 받을 수 있다
authorizedAlways(항상 허용)
authorizedWhen InUse(사용 중만 가능)
denied(허용되지 않음)
이번에는 사용만 가능합니다.plist의 KeyPrivacy - Location When In Use Usage Description
를 적당히value現在地を取得します
로 설정
# 코드 측 인증 요청
코드 측면에서도 CLLoacationManager 클래스 인스턴스 방법requestWhenInUseAuthorization()
을 통해 요청을 보냅니다.
*CLLoction Manager는 iOS SDK에서 표준적으로 준비된 위치 정보와 관련된 라이브러리 CoreLocation을 가져와서 사용할 수 있으나 CoreLoction 자체를 가져오지 않아도 GoogleMaps를 가져와서 사용할 수 있습니다import GoogleMaps
class ViewController: UIViewController {
// GoogleMapをインポートしているためか、CoreLocationをインポートしなくてもCLLocationManagerオブジェクトを生成できる
let locationManager = CLLocationManager() // ← NEW
override func viewDidLoad() {
super.viewDidLoad()
}
override func loadView() {
(省略)
}
func setupLocationManager() {
// ユーザーに対して位置情報を取得する許可をリクエストする ← NEW
locationManager.requestWhenInUseAuthorization()
}
}
# 위치 정보 검색의 시작
응용 프로그램에서 위치 정보를 사용하여 라이센스를 받은 경우 위치 정보를 가져옵니다.
CLLoctionManager 속성에 대한 distanceFilter 설정 값으로 이동할 미터를 결정한 후 현재 위치를 업데이트할 수 있습니다.
import GoogleMaps
class ViewController: UIViewController {
// GoogleMapをインポートしているためか、CoreLocationをインポートしなくてもCLLocationManagerオブジェクトを生成できる
let locationManager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
setupLocationManager() ← NEW
}
override func loadView() {
(省略)
}
func setupLocationManager() {
// ユーザーに対して位置情報を取得する許可をリクエストする
locationManager.requestWhenInUseAuthorization()
}
func setupLocationManager() {
locationManager.requestWhenInUseAuthorization()
// ↓NEW
if .authorizedWhenInUse == CLLocationManager.authorizationStatus() {
// 何メートル移動ごとに情報を取得するか。ここで設定した距離分移動したときに現在地を示すマーカーも移動する
locationManager.distanceFilter = 1
// 位置情報取得開始
locationManager.startUpdatingLocation()
}
}
}
# 프로토콜 및 범위 지정 방법 적용
CLLoction Manager Delegate를 사용하고 '응용 사용 중인 위치 정보 획득' 의 허가를 받은 경우에만 ViewController 클래스가 CLLoction Manager의 수송 목적지가 된다
import GoogleMaps
class ViewController: UIViewController {
// GoogleMapをインポートしているためか、CoreLocationをインポートしなくてもCLLocationManagerオブジェクトを生成できる
let locationManager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
}
override func loadView() {
(省略)
}
func setupLocationManager() {
// ユーザーに対して位置情報を取得する許可をリクエストする
locationManager.requestWhenInUseAuthorization()
}
func setupLocationManager() {
locationManager.requestWhenInUseAuthorization()
if .authorizedWhenInUse == CLLocationManager.authorizationStatus() {
// 何メートル移動ごとに情報を取得するか。ここで設定した距離分移動したときに現在地を示すマーカーも移動する
locationManager.distanceFilter = 1
// 位置情報取得開始
locationManager.startUpdatingLocation()
}
}
// 位置情報を取得・更新するたびに呼ばれる ← NEW
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
print(locations)
}
}
전체 코드
마지막으로 코드를 다 올리면 끝이에요.
import UIKit
import GoogleMaps
class ViewController: UIViewController, CLLocationManagerDelegate {
let locationManager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
setupLocationManager()
}
override func loadView() {
// マップに指定の緯度経度の場所を指定の倍率で表示するように指示
let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 10.0)
// 指定のフレームとcameraPositionでmapviewをビルドして返す
let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
mapView.isMyLocationEnabled = true
view = mapView
// markerはピンの場所
let marker = GMSMarker()
marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
marker.title = "Sydney"
marker.snippet = "Australia"
marker.map = mapView
}
func setupLocationManager() {
locationManager.requestWhenInUseAuthorization()
// 「アプリ使用中の位置情報取得」の許可が得られた場合のみ、CLLocationManagerクラスのstartUpdatingLocation()を呼んで、位置情報の取得を開始する
if .authorizedWhenInUse == CLLocationManager.authorizationStatus() {
// 許可が得られた場合にViewControllerクラスがCLLoacationManagerのデリゲート先になるようにする
locationManager.delegate = self
// 何メートル移動ごとに情報を取得するか。ここで設定した距離分移動したときに現在地を示すマーカーも移動する
locationManager.distanceFilter = 1
// 位置情報取得開始
locationManager.startUpdatingLocation()
}
}
// 位置情報を取得・更新するたびに呼ばれる
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let location = locations.first
let latitude = location?.coordinate.latitude
let longitude = location?.coordinate.longitude
print("latitude: \(latitude!)\n longitude: \(longitude!)")
}
}
인용하다
https://developers.google.com/maps/documentation/ios-sdk/start
https://qiita.com/koogawa/items/adc2dd19015586bda39b
https://qiita.com/chino_tweet/items/db3a536234a43a3c31d9#%E3%83%93%E3%83%AB%E3%83%89
Reference
이 문제에 관하여(구글 맵SDK를 사용하여 맵 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/powerispower/items/39203e1e908149fead19
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
target 'hogehoge' do
pod 'GoogleMaps'
pod 'GooglePlaces'
end
먼저 공식 Get The APIKey에서 APIKey 항목을 선택하고 가져옵니다.
APIkey를 가져오면 Appdelegate가 표시됩니다.swit-application(: d i d F inishLaunchingWithOptions:) 방법을 사용하여 응용 프로그램에 넣기
import GoogleMaps
import GooglePlaces
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
GMSServices.provideAPIKey("取得したAPIKeyを入れる")
GMSPlacesClient.provideAPIKey("取得したAPIKeyを入れる")
return true
}
준비가 되었으므로 이제 디스플레이 맵 설치를 시작합니다.위도 경도를 지정하여 GMSCamera Position 인스턴스를 생성하고 이를 사용하여 GMSMapView 인스턴스를 생성합니다.
import GoogleMaps
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func loadView() {
// マップに指定の緯度経度の場所を指定の倍率で表示するように指示
let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 10.0)
// GMSMapViewインスタンスを生成
let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
view = mapView
}
}
사용자가 맵에서 Google logo를 클릭하면 Google Maps SDK for iOS를 통해 브라우저 버전의 Google Map이 열립니다.목표 좌표에 동그라미를 그리다
override func loadView() {
let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 10.0)
let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
view = mapView
// 追加箇所
// markerはピンの場所
let marker = GMSMarker()
marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
marker.title = "Sydney"
marker.snippet = "Australia"
marker.map = mapView
}
소재지 표시
# 인증 요청을 위해 info.plist 구성
iOS 애플리케이션에서 사용자의 개인 정보 보호를 받으려면 라이센스가 필요합니다.
미리 info.plist의 Privacy - Location When In Use Usage Description
에서 (이 프로그램이 위치 정보를 얻는 등) 위치 정보를 사용하는 뜻을 기재해야 한다.
다음 세 개의 응용 프로그램은 사용자로부터 인증을 받을 수 있다
authorizedAlways(항상 허용)
authorizedWhen InUse(사용 중만 가능)
denied(허용되지 않음)
이번에는 사용만 가능합니다.plist의 KeyPrivacy - Location When In Use Usage Description
를 적당히value現在地を取得します
로 설정
# 코드 측 인증 요청
코드 측면에서도 CLLoacationManager 클래스 인스턴스 방법requestWhenInUseAuthorization()
을 통해 요청을 보냅니다.
*CLLoction Manager는 iOS SDK에서 표준적으로 준비된 위치 정보와 관련된 라이브러리 CoreLocation을 가져와서 사용할 수 있으나 CoreLoction 자체를 가져오지 않아도 GoogleMaps를 가져와서 사용할 수 있습니다import GoogleMaps
class ViewController: UIViewController {
// GoogleMapをインポートしているためか、CoreLocationをインポートしなくてもCLLocationManagerオブジェクトを生成できる
let locationManager = CLLocationManager() // ← NEW
override func viewDidLoad() {
super.viewDidLoad()
}
override func loadView() {
(省略)
}
func setupLocationManager() {
// ユーザーに対して位置情報を取得する許可をリクエストする ← NEW
locationManager.requestWhenInUseAuthorization()
}
}
# 위치 정보 검색의 시작
응용 프로그램에서 위치 정보를 사용하여 라이센스를 받은 경우 위치 정보를 가져옵니다.
CLLoctionManager 속성에 대한 distanceFilter 설정 값으로 이동할 미터를 결정한 후 현재 위치를 업데이트할 수 있습니다.
import GoogleMaps
class ViewController: UIViewController {
// GoogleMapをインポートしているためか、CoreLocationをインポートしなくてもCLLocationManagerオブジェクトを生成できる
let locationManager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
setupLocationManager() ← NEW
}
override func loadView() {
(省略)
}
func setupLocationManager() {
// ユーザーに対して位置情報を取得する許可をリクエストする
locationManager.requestWhenInUseAuthorization()
}
func setupLocationManager() {
locationManager.requestWhenInUseAuthorization()
// ↓NEW
if .authorizedWhenInUse == CLLocationManager.authorizationStatus() {
// 何メートル移動ごとに情報を取得するか。ここで設定した距離分移動したときに現在地を示すマーカーも移動する
locationManager.distanceFilter = 1
// 位置情報取得開始
locationManager.startUpdatingLocation()
}
}
}
# 프로토콜 및 범위 지정 방법 적용
CLLoction Manager Delegate를 사용하고 '응용 사용 중인 위치 정보 획득' 의 허가를 받은 경우에만 ViewController 클래스가 CLLoction Manager의 수송 목적지가 된다
import GoogleMaps
class ViewController: UIViewController {
// GoogleMapをインポートしているためか、CoreLocationをインポートしなくてもCLLocationManagerオブジェクトを生成できる
let locationManager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
}
override func loadView() {
(省略)
}
func setupLocationManager() {
// ユーザーに対して位置情報を取得する許可をリクエストする
locationManager.requestWhenInUseAuthorization()
}
func setupLocationManager() {
locationManager.requestWhenInUseAuthorization()
if .authorizedWhenInUse == CLLocationManager.authorizationStatus() {
// 何メートル移動ごとに情報を取得するか。ここで設定した距離分移動したときに現在地を示すマーカーも移動する
locationManager.distanceFilter = 1
// 位置情報取得開始
locationManager.startUpdatingLocation()
}
}
// 位置情報を取得・更新するたびに呼ばれる ← NEW
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
print(locations)
}
}
전체 코드
마지막으로 코드를 다 올리면 끝이에요.
import UIKit
import GoogleMaps
class ViewController: UIViewController, CLLocationManagerDelegate {
let locationManager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
setupLocationManager()
}
override func loadView() {
// マップに指定の緯度経度の場所を指定の倍率で表示するように指示
let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 10.0)
// 指定のフレームとcameraPositionでmapviewをビルドして返す
let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
mapView.isMyLocationEnabled = true
view = mapView
// markerはピンの場所
let marker = GMSMarker()
marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
marker.title = "Sydney"
marker.snippet = "Australia"
marker.map = mapView
}
func setupLocationManager() {
locationManager.requestWhenInUseAuthorization()
// 「アプリ使用中の位置情報取得」の許可が得られた場合のみ、CLLocationManagerクラスのstartUpdatingLocation()を呼んで、位置情報の取得を開始する
if .authorizedWhenInUse == CLLocationManager.authorizationStatus() {
// 許可が得られた場合にViewControllerクラスがCLLoacationManagerのデリゲート先になるようにする
locationManager.delegate = self
// 何メートル移動ごとに情報を取得するか。ここで設定した距離分移動したときに現在地を示すマーカーも移動する
locationManager.distanceFilter = 1
// 位置情報取得開始
locationManager.startUpdatingLocation()
}
}
// 位置情報を取得・更新するたびに呼ばれる
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let location = locations.first
let latitude = location?.coordinate.latitude
let longitude = location?.coordinate.longitude
print("latitude: \(latitude!)\n longitude: \(longitude!)")
}
}
인용하다
https://developers.google.com/maps/documentation/ios-sdk/start
https://qiita.com/koogawa/items/adc2dd19015586bda39b
https://qiita.com/chino_tweet/items/db3a536234a43a3c31d9#%E3%83%93%E3%83%AB%E3%83%89
Reference
이 문제에 관하여(구글 맵SDK를 사용하여 맵 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/powerispower/items/39203e1e908149fead19
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
override func loadView() {
let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 10.0)
let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
view = mapView
// 追加箇所
// markerはピンの場所
let marker = GMSMarker()
marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
marker.title = "Sydney"
marker.snippet = "Australia"
marker.map = mapView
}
# 인증 요청을 위해 info.plist 구성
iOS 애플리케이션에서 사용자의 개인 정보 보호를 받으려면 라이센스가 필요합니다.
미리 info.plist의
Privacy - Location When In Use Usage Description
에서 (이 프로그램이 위치 정보를 얻는 등) 위치 정보를 사용하는 뜻을 기재해야 한다.다음 세 개의 응용 프로그램은 사용자로부터 인증을 받을 수 있다
authorizedAlways(항상 허용)
authorizedWhen InUse(사용 중만 가능)
denied(허용되지 않음)
이번에는 사용만 가능합니다.plist의 Key
Privacy - Location When In Use Usage Description
를 적당히value現在地を取得します
로 설정# 코드 측 인증 요청
코드 측면에서도 CLLoacationManager 클래스 인스턴스 방법
requestWhenInUseAuthorization()
을 통해 요청을 보냅니다.*CLLoction Manager는 iOS SDK에서 표준적으로 준비된 위치 정보와 관련된 라이브러리 CoreLocation을 가져와서 사용할 수 있으나 CoreLoction 자체를 가져오지 않아도 GoogleMaps를 가져와서 사용할 수 있습니다
import GoogleMaps
class ViewController: UIViewController {
// GoogleMapをインポートしているためか、CoreLocationをインポートしなくてもCLLocationManagerオブジェクトを生成できる
let locationManager = CLLocationManager() // ← NEW
override func viewDidLoad() {
super.viewDidLoad()
}
override func loadView() {
(省略)
}
func setupLocationManager() {
// ユーザーに対して位置情報を取得する許可をリクエストする ← NEW
locationManager.requestWhenInUseAuthorization()
}
}
# 위치 정보 검색의 시작
응용 프로그램에서 위치 정보를 사용하여 라이센스를 받은 경우 위치 정보를 가져옵니다.
CLLoctionManager 속성에 대한 distanceFilter 설정 값으로 이동할 미터를 결정한 후 현재 위치를 업데이트할 수 있습니다.
import GoogleMaps
class ViewController: UIViewController {
// GoogleMapをインポートしているためか、CoreLocationをインポートしなくてもCLLocationManagerオブジェクトを生成できる
let locationManager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
setupLocationManager() ← NEW
}
override func loadView() {
(省略)
}
func setupLocationManager() {
// ユーザーに対して位置情報を取得する許可をリクエストする
locationManager.requestWhenInUseAuthorization()
}
func setupLocationManager() {
locationManager.requestWhenInUseAuthorization()
// ↓NEW
if .authorizedWhenInUse == CLLocationManager.authorizationStatus() {
// 何メートル移動ごとに情報を取得するか。ここで設定した距離分移動したときに現在地を示すマーカーも移動する
locationManager.distanceFilter = 1
// 位置情報取得開始
locationManager.startUpdatingLocation()
}
}
}
# 프로토콜 및 범위 지정 방법 적용
CLLoction Manager Delegate를 사용하고 '응용 사용 중인 위치 정보 획득' 의 허가를 받은 경우에만 ViewController 클래스가 CLLoction Manager의 수송 목적지가 된다
import GoogleMaps
class ViewController: UIViewController {
// GoogleMapをインポートしているためか、CoreLocationをインポートしなくてもCLLocationManagerオブジェクトを生成できる
let locationManager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
}
override func loadView() {
(省略)
}
func setupLocationManager() {
// ユーザーに対して位置情報を取得する許可をリクエストする
locationManager.requestWhenInUseAuthorization()
}
func setupLocationManager() {
locationManager.requestWhenInUseAuthorization()
if .authorizedWhenInUse == CLLocationManager.authorizationStatus() {
// 何メートル移動ごとに情報を取得するか。ここで設定した距離分移動したときに現在地を示すマーカーも移動する
locationManager.distanceFilter = 1
// 位置情報取得開始
locationManager.startUpdatingLocation()
}
}
// 位置情報を取得・更新するたびに呼ばれる ← NEW
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
print(locations)
}
}
전체 코드
마지막으로 코드를 다 올리면 끝이에요.
import UIKit
import GoogleMaps
class ViewController: UIViewController, CLLocationManagerDelegate {
let locationManager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
setupLocationManager()
}
override func loadView() {
// マップに指定の緯度経度の場所を指定の倍率で表示するように指示
let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 10.0)
// 指定のフレームとcameraPositionでmapviewをビルドして返す
let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
mapView.isMyLocationEnabled = true
view = mapView
// markerはピンの場所
let marker = GMSMarker()
marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
marker.title = "Sydney"
marker.snippet = "Australia"
marker.map = mapView
}
func setupLocationManager() {
locationManager.requestWhenInUseAuthorization()
// 「アプリ使用中の位置情報取得」の許可が得られた場合のみ、CLLocationManagerクラスのstartUpdatingLocation()を呼んで、位置情報の取得を開始する
if .authorizedWhenInUse == CLLocationManager.authorizationStatus() {
// 許可が得られた場合にViewControllerクラスがCLLoacationManagerのデリゲート先になるようにする
locationManager.delegate = self
// 何メートル移動ごとに情報を取得するか。ここで設定した距離分移動したときに現在地を示すマーカーも移動する
locationManager.distanceFilter = 1
// 位置情報取得開始
locationManager.startUpdatingLocation()
}
}
// 位置情報を取得・更新するたびに呼ばれる
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let location = locations.first
let latitude = location?.coordinate.latitude
let longitude = location?.coordinate.longitude
print("latitude: \(latitude!)\n longitude: \(longitude!)")
}
}
인용하다
https://developers.google.com/maps/documentation/ios-sdk/start
https://qiita.com/koogawa/items/adc2dd19015586bda39b
https://qiita.com/chino_tweet/items/db3a536234a43a3c31d9#%E3%83%93%E3%83%AB%E3%83%89
Reference
이 문제에 관하여(구글 맵SDK를 사용하여 맵 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/powerispower/items/39203e1e908149fead19
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import UIKit
import GoogleMaps
class ViewController: UIViewController, CLLocationManagerDelegate {
let locationManager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
setupLocationManager()
}
override func loadView() {
// マップに指定の緯度経度の場所を指定の倍率で表示するように指示
let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 10.0)
// 指定のフレームとcameraPositionでmapviewをビルドして返す
let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
mapView.isMyLocationEnabled = true
view = mapView
// markerはピンの場所
let marker = GMSMarker()
marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
marker.title = "Sydney"
marker.snippet = "Australia"
marker.map = mapView
}
func setupLocationManager() {
locationManager.requestWhenInUseAuthorization()
// 「アプリ使用中の位置情報取得」の許可が得られた場合のみ、CLLocationManagerクラスのstartUpdatingLocation()を呼んで、位置情報の取得を開始する
if .authorizedWhenInUse == CLLocationManager.authorizationStatus() {
// 許可が得られた場合にViewControllerクラスがCLLoacationManagerのデリゲート先になるようにする
locationManager.delegate = self
// 何メートル移動ごとに情報を取得するか。ここで設定した距離分移動したときに現在地を示すマーカーも移動する
locationManager.distanceFilter = 1
// 位置情報取得開始
locationManager.startUpdatingLocation()
}
}
// 位置情報を取得・更新するたびに呼ばれる
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let location = locations.first
let latitude = location?.coordinate.latitude
let longitude = location?.coordinate.longitude
print("latitude: \(latitude!)\n longitude: \(longitude!)")
}
}
https://developers.google.com/maps/documentation/ios-sdk/start
https://qiita.com/koogawa/items/adc2dd19015586bda39b
https://qiita.com/chino_tweet/items/db3a536234a43a3c31d9#%E3%83%93%E3%83%AB%E3%83%89
Reference
이 문제에 관하여(구글 맵SDK를 사용하여 맵 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/powerispower/items/39203e1e908149fead19텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)