iOS 9 이상을 실행하는 기기에서는 Google 지도 URL이 있는 경우 범용 링크를 사용하여 Google 지도를 실행할 수 있습니다.
Google 지도 URL 구성표를 사용하여 iOS용 Google 지도 앱을 실행하고 검색을 수행하고, 경로 요청을 가져오고, 지도 뷰를 표시할 수 있습니다. Google 지도를 시작하면 번들 식별자가 요청의 일부로 자동으로 전송됩니다.
Google Maps URL 구성표를 사용하기 위해 Google API 키가 필요하지 않습니다.
범용 링크 및 Google 지도
iOS용 Google 지도에서는 iOS 9 이상을 실행하는 기기에서 범용 링크를 지원합니다.
URL이 다음 정규 표현식과 일치하고 기기에서 iOS 9 이상을 실행하는 경우 openURL: 메서드를 직접 사용하는 것이 좋습니다.
(http(s?)://)?
((maps\.google\.{TLD}/)|
((www\.)?google\.{TLD}/maps/)|
(goo.gl/maps/))
.*
예를 들면 다음과 같습니다.
Swift
UIApplication.shared.openURL(URL(string:"https://www.google.com/maps/@42.585444,13.007813,6z")!)
Objective-C
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:@"https://www.google.com/maps/@42.585444,13.007813,6z"]];
개요
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을 전달할 수도 있습니다. comgooglemapsurl://
URL 구성표와 함께x-source
및x-success
매개변수를 사용하여 콜백을 실행할 수 있습니다.
- 원래 URL은
iOS용 Google 지도 앱을 실행하고 특정 기능 수행
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은 지정된 위치 주변에서 'Pizza'를 검색합니다.
comgooglemaps://?q=Pizza¢er=37.759748,-122.427135
다음은 몇 가지 추가 예시입니다.
comgooglemaps://?q=Steamers+Lane+Santa+Cruz,+CA¢er=37.782652,-122.410126&views=satellite,traffic&zoom=15
comgooglemaps://?q=Google+Japan,+Minato,+Tokyo,+Japan¢er=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¢er=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¢er=37.423725,-122.0877&directionsmode=walking&zoom=17
콜백 URL 지정
콜백 URL을 지정하려면 comgooglemaps-x-callback://
URL 스키마를 사용해야 합니다. 이 구성표는 x-callback-url 사양을 준수합니다. 이 구성표로 iOS용 Google 지도 앱을 호출하면 앱이 화면 상단에 버튼을 표시합니다. 이 버튼을 탭하면 지정한 URL에 대한 콜백이 실행됩니다.
comgooglemaps-x-callback://
에 대한 요청은 다음 형식이어야 합니다.
comgooglemaps-x-callback://?parameters
매개변수
X-콜백 URL 구성표는 다음 추가 매개변수와 더불어 comgooglemaps://
URL 구성표와 동일한 매개변수를 받습니다. 두 매개변수 모두 필요합니다.
x-source
: x-콜백 요청을 보내는 애플리케이션의 이름입니다. 짧은 이름을 권장합니다.x-success
: 완료 시 호출할 URL입니다. 대개 여러분의 앱의 URL 구성표로, 사용자가 원래 애플리케이션으로 돌아갈 수 있습니다.
콜백 URL에 응답할 수 있도록 앱이 자체 URL 구성표를 등록해야 합니다.
- 애플리케이션이 콜백 요청에 응답할 수 있는 URL 구성표를 등록했는지 확인합니다.
x-source
매개변수에 콜백 버튼의 레이블을 전달합니다.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¢er=37.759748,-122.427135
&x-success=sourceapp://?resume=true
&x-source=Nom+Nom
앱에 내비게이션 추가
길찾기 요청으로 iOS용 Google 지도 앱을 시작하면 사용자가 앱에서 턴바이턴 내비게이션에 쉽게 액세스할 수 있습니다. comgooglemaps://
또는 comgooglemaps-x-callback://
URL 스키마 중 하나를 사용할 수 있습니다.
다음 코드 스니펫은 comgooglemaps-x-callback://
구성표를 사용하여 길찾기를 요청하고, 사용자가 준비되면 앱으로 돌아가는 방법을 보여줍니다. 이 코드는 다음을 실행합니다.
comgooglemaps-x-callback://
URL 구성표를 사용할 수 있는지 확인합니다.- iOS용 Google 지도 앱을 시작하고 뉴욕시 JFK 공항까지 찾아가는 길을 요청합니다. 출발 주소를 공백으로 두고 사용자의 현재 위치에서 길찾기를 요청합니다.
- iOS용 Google 지도 앱에 'AirApp'이라는 레이블이 붙은 버튼을 추가합니다. 버튼 라벨은
x-source
매개변수로 정의됩니다. - 사용자가 뒤로 버튼을 클릭하면 가상의 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 지도 앱에서 URL을 열고 사용자에게 가장 적합한 네이티브 환경을 제공할 수 있습니다.
http://
또는https://
구성표를comgooglemapsurl://
로 바꿉니다.- 콜백을 사용하고 싶다면
x-source
및x-success
매개변수를 포함합니다. 이 구성표는 x-callback-url 사양을 준수합니다.
지원되는 Google 지도 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 지도 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 지도 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