iOS용 Google 지도 URL 스키마

iOS 9 이상을 실행하는 기기에서는 범용 링크를 통한 Google 실행 Google 지도 URL이 있는 경우 지도.

Google 지도 URL 스키마를 사용하여 iOS용 Google 지도 앱으로 검색, 길찾기 요청, 지도뷰 표시 등이 있습니다. Google 지도를 출시하면 요청의 일부로 자동 전송됩니다.

Google 지도 URL 스키마를 사용하는 데 Google API 키가 필요하지 않습니다.

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 애플리케이션을 실행할 수 있습니다. 애플리케이션을 실행할 수 있습니다 이 애플리케이션을 실행합니다. iOS용 Google 지도 앱은 다음 URL을 지원합니다. 스키마:

  • comgooglemaps://comgooglemaps-x-callback:// - 이 스키마 iOS용 Google 지도 앱을 실행하고 작업:

    • 특정 위치 및 확대/축소 수준에서 지도를 표시합니다.
    • 위치나 장소를 검색하여 지도에 표시합니다.
    • 한 위치에서 다른 위치로의 경로를 요청합니다. 경로를 반환할 수 있습니다. 4가지 이동수단(자가용, 도보, 자전거, 대중교통) 있습니다.
    • 앱에 탐색을 추가합니다.
    • iOS 8에서는 앱이 완료되면 다음을 사용하여 콜백을 실행합니다. comgooglemaps-x-callback:// 콜백은 종종 원래 iOS용 Google 지도를 열었던 앱으로 돌아가게 됩니다. 참고: iOS 9에서, 시스템은 자동으로 '뒤로' 버튼을 왼쪽 모서리에 있는 상태 표시줄에 표시됩니다.
  • comgooglemapsurl:// - 이 스키마를 사용하면 Google 지도 앱을 실행할 수 있습니다. 데스크톱 Google 지도 웹사이트에서 가져온 URL을 사용하여 iOS의 경우 다시 말해 기본 모바일 환경을 제공하는 것이 아니라 Google 지도 웹사이트를 로드하는 것입니다.

    • 원래 URL은 maps.google.com 또는 google.com/maps일 수 있습니다. 또는 com 대신 유효한 최상위 국가 도메인을 사용하세요. goo.gl/maps 리디렉션 URL을 전달할 수도 있습니다.
    • x-sourcex-success를 사용하여 콜백을 실행할 수 있습니다. 매개변수를 comgooglemapsurl:// 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 예제 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

이 스키마를 사용하여 지정한 표시 영역 위치의 검색어를 표시할 수 있습니다.

매개변수

Google 검색은 지도를 표시하는 데 사용되는 매개변수 외에 q 매개변수 값으로 사용됩니다.

  • q: 검색할 쿼리 문자열입니다.

다음은 지정된 위치 주변에서 '피자'를 검색하는 URL의 예입니다.

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

주변의 피자 매장

몇 가지 추가 예는 다음과 같습니다.

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-callback-url 사양. iOS용 Google 지도 앱을 호출하는 경우 이 구성표를 사용하면 앱이 화면 이 버튼을 탭하면 표시됩니다.

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://"]];

다음은 사용자가 디저트.

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 스키마

다음 코드 스니펫은 comgooglemaps-x-callback:// 스키마를 사용하여 경로를 요청한 후 사용자가 준비되면 앱으로 돌아가세요. 이 다음 작업을 실행합니다.

  1. comgooglemaps-x-callback:// URL 스키마를 사용할 수 있는지 확인합니다.
  2. iOS용 Google 지도 앱을 실행하고 뉴욕시입니다. 다음에서 길찾기를 요청하려면 출발지 주소를 비워 두세요. 사용자의 현재 위치
  3. 'AirApp'이라는 라벨이 지정된 버튼 추가 iOS용 Google 지도 앱으로 이전합니다. 버튼 라벨은 x-source 매개변수로 정의됩니다.
  4. 사용자가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 지도 URL(예: 웹페이지)에 액세스할 수 있는 경우 저장된 경우 이 스키마를 사용하여 Google 지도 앱에서 URL을 열 수 있습니다. 하여 사용자에게 최상의 네이티브 환경을 제공합니다.

  1. http:// 또는 https:// 스키마를 comgooglemapsurl://로 바꿉니다.
  2. 콜백을 사용하려면 x-sourcex-success를 포함합니다. 매개변수입니다. 이 스키마는 x-콜백-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