모든 준비를 마쳤습니다!

개발을 시작하려면 개발자 문서로 이동하세요.

Google Maps SDK for iOS 활성화

개발을 시작하기 위해 Google Developers Console에서 우선적으로 해야 할 일을 몇 가지 소개하겠습니다.

  1. 프로젝트 생성 또는 선택
  2. Google Maps SDK for iOS 활성화
  3. 적합한 키 생성
계속

Google Maps URL 구성표

Google Maps URL 구성표를 사용하여 iOS용 Google 지도 앱을 시작하고, 검색을 수행하고, 길찾기 요청을 가져오고, 지도 뷰를 표시할 수 있습니다. Google 지도를 시작할 때 번들 식별자가 요청의 일부로 자동으로 전송됩니다.

Google Maps URL 구성표를 사용하기 위해 Google API 키가 필요 없습니다.

개요

URL 구성표를 사용하면 다른 iOS 앱이나 웹 애플리케이션에서 기본 iOS 애플리케이션을 시작할 수 있습니다. 시작된 애플리케이션에 전달할 URL의 옵션을 설정할 수 있습니다. iOS용 Google 지도 앱은 다음 URL 구성표를 지원합니다.

  • comgooglemaps://comgooglemaps-x-callback:// - 이 구성표로 iOS용 Google 지도 앱을 시작하고 여러 가지 작업 중 하나를 수행할 수 있습니다.

    • 지정된 위치와 확대/축소 수준으로 지도를 표시합니다.
    • 위치나 장소를 검색하고 지도에 표시합니다.
    • 한 위치에서 다른 위치로 찾아가는 길을 요청합니다. 길찾기는 4가지 이동 모드(자동차, 도보, 자전거, 대중교통)에 대해 반환될 수 있습니다.
    • 앱에 내비게이션을 추가합니다.
    • iOS 8에서는 앱이 완료되면 comgooglemaps-x-callback://을 사용하여 콜백을 실행합니다. 콜백은 원래 iOS용 Google 지도를 열었던 앱으로 사용자를 돌려보내는 데 사용합니다. 참고로 iOS 9에서는 시스템이 자동으로 상태 표시줄의 왼쪽 모서리에 "Back to" 링크를 제공합니다.
  • comgooglemapsurl:// - 이 구성표로 데스크톱 Google 지도 웹사이트에서 파생된 URL을 사용하여 iOS용 Google 지도 앱을 시작할 수 있습니다. 즉, Google 지도 웹사이트만 로드하는 것이 아니라 사용자에게 고유한 모바일 경험을 제공할 수 있습니다.

    • 원래 URL은 maps.google.com 또는google.com/maps가 될 수 있습니다. 또는, com 대신 유효한 최상위 국가 도메인을 사용해도 됩니다. goo.gl/maps 리디렉션 URL에 전달할 수도 있습니다.
    • x-sourcex-success 매개변수를 사용하여 comgooglemapsurl:// URL 구성표로 콜백을 실행할 수 있습니다.

iOS용 Google 지도 앱을 시작하고 특정 기능 수행

참고: iOS 9부터는 앱에서 열려는 URL 구성표를 선언해야 합니다. 자세한 내용은 시작하기 를 참조하세요.

iOS용 Google 지도 앱을 시작하고 지원되는 함수 중 하나를 선택적으로 실행하려면, 다음 형식의 URL 구성표를 사용합니다.

comgooglemaps://?parameters

또는:

comgooglemaps-x-callback://?parameters

매개변수는 이 문서의 뒷부분에서 자세히 설명됩니다.

기기에서 Google 지도 앱의 가용성 확인

앱에서 사용자에게 이러한 URL 중 하나를 제시하기 전에 먼저 애플리케이션이 설치되었는지 확인해야 합니다. 앱이 다음 코드로 URL 구성표를 이용할 수 있는지 확인할 수 있습니다.

Swift

UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)

Objective-C

[[UIApplication sharedApplication] canOpenURL:
    [NSURL URLWithString:@"comgooglemaps://"]];

예를 들어, 뉴욕 센트럴 파크의 지도를 표시할 때 다음 코드를 사용할 수 있습니다.

Swift

if (UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)) {
  UIApplication.shared.openURL(URL(string:
    "comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic")!)
} else {
  print("Can't use comgooglemaps://");
}

Objective-C

if ([[UIApplication sharedApplication] canOpenURL:
     [NSURL URLWithString:@"comgooglemaps://"]]) {
  [[UIApplication sharedApplication] openURL:
   [NSURL URLWithString:@"comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic"]];
} else {
  NSLog(@"Can't use comgooglemaps://");
}

지도 표시

URL 구성표를 사용하여 지정된 확대/축소 수준과 위치에 지도를 표시합니다. 지도 상단에서 다른 뷰를 오버레이하거나 스트리트 뷰 이미지를 표시할 수도 있습니다.

매개변수

다음 매개변수는 모두 선택 항목입니다. 매개변수가 설정되지 않은 경우, URL 구성표는 iOS용 Google 지도 앱을 시작합니다.

  • center: 지도 뷰포트 중앙 지점입니다. 쉼표로 구분된 latitude,longitude 문자열 형식입니다.
  • mapmode: 표시되는 지도의 종류를 설정합니다. standard 또는 streetview로 설정할 수 있습니다. 지정되지 않은 경우, 현재 애플리케이션 설정을 사용합니다.
  • views: 특정 뷰를 활성화/비활성화합니다. satellite, traffic 또는 transit로 설정할 수 있습니다. 쉼표 구분 기호를 사용하여 여러 값을 설정할 수 있습니다. 매개변수에 아무 값도 지정되지 않으면 모든 뷰를 지웁니다.
  • zoom: 지도의 확대/축소 수준을 지정합니다.

아래 예시 URL은 교통량 뷰를 켜고 확대/축소 수준을 14로 설정하고 뉴욕에 중심을 둔 지도를 표시합니다.

comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic

뉴욕 교통 지도

추가 예시:

comgooglemaps://?center=37.788463,-122.392545&zoom=12
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview

검색

이 구성표를 사용하여 지정된 뷰포트 위치에 검색 쿼리를 표시합니다.

매개변수

검색은 지도 표시에 사용하는 매개변수 이외에도q 매개변수를 지원합니다.

  • q: 검색을 위한 쿼리 문자열.

아래 예시 URL은 지정된 위치 주변에서 "피자"를 검색합니다.

comgooglemaps://?q=Pizza&center=37.759748,-122.427135

Nearby Pizza

추가 예시:

comgooglemaps://?q=Steamers+Lane+Santa+Cruz,+CA&center=37.782652,-122.410126&views=satellite,traffic&zoom=15
comgooglemaps://?q=Google+Japan,+Minato,+Tokyo,+Japan&center=35.660888,139.73073&zoom=15&views=transit

길찾기 표시

이 구성표를 사용하여 두 위치 간의 길찾기를 요청하고 표시합니다. 이동 모드를 지정할 수도 있습니다.

매개변수

  • saddr: 길찾기 검색의 시작 지점을 설정합니다. 이 지점은 위도, 경도 또는 쿼리 기본 제공 주소가 될 수 있습니다. 하나 이상의 결과를 반환하는 쿼리 문자열이라면 첫 번째 결과가 선택됩니다. 값을 공백으로 두면 사용자의 현재 위치를 사용합니다.
  • daddr: 길찾기 검색의 종료 지점을 설정합니다. saddr와 형식과 동작이 같습니다.
  • directionsmode: 교통수단. driving, transit, bicycling 또는 walking으로 설정할 수 있습니다.

아래 예시 URL은 Google 뉴욕 지사와 JFK 공항 간의 대중교통 길찾기를 표시합니다.

comgooglemaps://?saddr=Google+Inc,+8th+Avenue,+New+York,+NY&daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York&directionsmode=transit

대중교통 길찾기

추가 예시:

comgooglemaps://?saddr=Google,+1600+Amphitheatre+Parkway,+Mountain+View,+CA+94043&daddr=Google+Inc,+345+Spear+Street,+San+Francisco,+CA&center=37.422185,-122.083898&zoom=10
comgooglemaps://?saddr=2025+Garcia+Ave,+Mountain+View,+CA,+USA&daddr=Google,+1600+Amphitheatre+Parkway,+Mountain+View,+CA,+United+States&center=37.423725,-122.0877&directionsmode=walking&zoom=17

콜백 URL 지정

콜백 URL을 지정하려면 comgooglemaps-x-callback:// URL 구성표를 사용해야 합니다. 이 구성표는 [x-콜백-url 사양]을 준수합니다. 이 구성표로 iOS용 Google 지도 앱을 호출하면 화면 상단에 버튼이 표시됩니다. 이 버튼을 누르면 지정한 URL에 대한 콜백을 실행합니다.

comgooglemaps-x-callback:// 요청 양식은 다음 형식이어야 합니다.

comgooglemaps-x-callback://?parameters

매개변수

X-콜백 URL 구성표는 다음 추가 매개변수와 더불어 comgooglemaps:// URL 구성표와 동일한 매개변수를 받습니다. 두 매개변수 모두 필수입니다.

  • x-source — x-콜백 요청을 보내는 애플리케이션의 이름. 짧은 이름을 권장합니다.
  • x-success — 완료되었을 때 호출할 URL. 대개 여러분의 앱의 URL 구성표로, 사용자가 원래 애플리케이션으로 돌아갈 수 있습니다.

콜백 URL에 응답할 수 있도록 앱이 자체 URL 구성표를 등록해야 합니다.

  1. 애플리케리션이 콜백 요청에 응답할 수 있는 URL 구성표를 등록했는지 확인합니다.
  2. x-source 매개변수에 콜백 버튼의 레이블을 전달합니다.
  3. x-success 매개변수에 콜백 URL을 전달합니다.

다음 예시는 iOS용 Google 지도 앱을 시작하고 뉴욕을 중심으로 하는 지도를 표시합니다. 이 앱은 "SourceApp"이라는 레이블이 붙은 버튼도 표시합니다. "SourceApp" 버튼을 클릭하면 iOS용 Google 지도 앱이 가상 URL 구성표 sourceapp://?resume=true에 대한 콜백을 실행합니다.

comgooglemaps-x-callback://?center=40.765819,-73.975866&zoom=14
   &x-success=sourceapp://?resume=true
   &x-source=SourceApp

comgooglemaps:// URL 구성표와 마찬가지로 먼저 iOS용 Google 지도 앱을 기기에서 사용할 수 있고 x-콜백 URL 구성표를 지원하는지 확인합니다. 앱이 다음 코드로 URL 구성표를 이용할 수 있는지 확인할 수 있습니다.

Swift

UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)

Objective-C

[[UIApplication sharedApplication] canOpenURL:
   [NSURL URLWithString:@"comgooglemaps-x-callback://"]];

아래 예시 URL은 사용자가 사막을 검색한 후 앱으로 돌아가게 해줍니다.

comgooglemaps-x-callback://?q=dessert&center=37.759748,-122.427135
   &x-success=sourceapp://?resume=true
   &x-source=Nom+Nom

앱에 내비게이션 추가

길찾기 요청으로 iOS용 Google 지도 앱을 시작하면 사용자가 앱에서 턴바이턴 내비게이션에 쉽게 액세스할 수 있습니다.

comgooglemaps:// 또는 comgooglemaps-x-callback:// URL 구성표를 사용할 수 있습니다.

참고: x-source 매개변수로 추가된 버튼은 턴바이턴 내비게이션 UI에 표시되지 않습니다.

아래 코드 스니펫은 comgooglemaps-x-callback:// 구성표를 사용하여 길찾기를 요청하고, 사용자가 준비되면 앱으로 돌아가는 방법을 보여줍니다. 코드는 다음 작업을 수행합니다.

  1. comgooglemaps-x-callback:// URL 구성표를 사용할 수 있는지 확인합니다.
  2. iOS용 Google 지도 앱을 시작하고 뉴욕시 JFK 공항까지 찾아가는 길을 요청합니다. 출발 주소를 공백으로 두고 사용자의 현재 위치에서 길찾기를 요청합니다.
  3. iOS용 Google 지도 앱에 "AirApp"이라는 레이블이 붙은 버튼을 추가합니다. 버튼 레이블은 x-source 매개변수를 통해 정의됩니다.
  4. 사용자가 뒤로 버튼을 클릭하면 가상의 URL 구성표, sourceapp://을 호출합니다.

코드는 아래와 같습니다.

Swift

let testURL = URL(string: "comgooglemaps-x-callback://")!
if UIApplication.shared.canOpenURL(testURL) {
  let directionsRequest = "comgooglemaps-x-callback://" +
    "?daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York" +
    "&x-success=sourceapp://?resume=true&x-source=AirApp"

  let directionsURL = URL(string: directionsRequest)!
  UIApplication.shared.openURL(directionsURL)
} else {
  NSLog("Can't use comgooglemaps-x-callback:// on this device.")
}

Objective-C

NSURL *testURL = [NSURL URLWithString:@"comgooglemaps-x-callback://"];
if ([[UIApplication sharedApplication] canOpenURL:testURL]) {
  NSString *directionsRequest = @"comgooglemaps-x-callback://" +
      @"?daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York" +
      @"&x-success=sourceapp://?resume=true&x-source=AirApp";
  NSURL *directionsURL = [NSURL URLWithString:directionsRequest];
  [[UIApplication sharedApplication] openURL:directionsURL];
} else {
  NSLog(@"Can't use comgooglemaps-x-callback:// on this device.");
}

Google 지도 데스크톱 URL에서 iOS용 Google 지도 앱 시작

앱이 웹페이지나 데이터베이스 등에 이미 존재하는 Google Maps URL에 액세스 권한이 있는 경우, 아래 구성표를 사용하여 iOS용 Google 지도 앱을 열고 사용자에게 가장 적합한 경험을 제공할 수 있습니다.

  1. http:// 또는 https:// 구성표를 comgooglemapsurl://로 대체합니다.
  2. 콜백을 사용하고 싶다면 x-sourcex-success 매개변수를 포함합니다. 이 구성표는 [x-콜백-url 사양]을 준수합니다.

지원되는 Google Maps URL 형식

comgooglemapsurl:// 구성표는 아래의 정규식과 일치하는 URL을 지원합니다. 여기서 {TLD}는 유효한 최상위 국가 도메인을 의미합니다. 명확히 보여주기 위해 줄바꿈을 추가했습니다.

(http(s?)://)?
((maps\.google\.{TLD}/)|
 ((www\.)?google\.{TLD}/maps/)|
 (goo.gl/maps/))
.*

Google 지도 앱의 가용성 확인

먼저 iOS용 Google 지도 앱을 기기에서 사용할 수 있고 URL 구성표를 지원하는지 확인합니다.

Swift

UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)

Objective-C

[[UIApplication sharedApplication] canOpenURL:
   [NSURL URLWithString:@"comgooglemapsurl://"]];

기본 Google Maps URL의 예:

원래 Google Maps URL:

https://www.google.com/maps/preview/@42.585444,13.007813,6z

URL 구성표 사용:

comgooglemapsurl://www.google.com/maps/preview/@42.585444,13.007813,6z

기본 Google Maps URL의 예:

원래 Google Maps URL:

https://maps.google.com/?q=@37.3161,-122.1836

URL 구성표 사용:

comgooglemapsurl://maps.google.com/?q=@37.3161,-122.1836

x-콜백으로 도쿄 타워로 찾아가는 길을 요청하는 예:

원래 Google Maps URL:

http://maps.google.com/maps?f=d&daddr=Tokyo+Tower,+Tokyo,+Japan&sll=35.6586,139.7454&sspn=0.2,0.1&nav=1

다음 예시는 iOS용 Google 지도 앱을 시작하고 원래 Google 지도 URL(위)에 지정된 도쿄 타워로 찾아가는 길이 포함된 지도를 표시합니다. 이 앱은 "SourceApp"이라는 레이블이 붙은 버튼도 표시합니다. "SourceApp" 버튼을 클릭하면 iOS용 Google 지도 앱이 가상 URL 구성표 sourceapp://?resume=true에 대한 콜백을 실행합니다.

comgooglemapsurl://maps.google.com/maps?f=d&daddr=Tokyo+Tower,+Tokyo,+Japan&sll=35.6586,139.7454&sspn=0.2,0.1&nav=1
    &x-source=SourceApp
    &x-success=sourceapp://?resume=true

다음에 대한 의견 보내기...

Google Maps SDK for iOS
Google Maps SDK for iOS
도움이 필요하시나요? 지원 페이지를 방문하세요.