면책조항
이 제품/기능은 변경될 수 있으며 서비스수준계약 (SLA) 또는 지원 중단 정책이 적용되지 않습니다. 구현은 향후 버전에서 변경될 수 있습니다.
이 문서와 함께 제공되는 샘플 소프트웨어, 데이터 파일 또는 소스 코드와 관련하여: 이 제품은 어떠한 종류의 보증도 없이 '있는 그대로' 제공되며 Google은 상품성, 특정 목적에의 적합성, 이 제품과 관련된 권리의 비침해에 대한 보증을 포함하되 이에 국한되지 않는 명시적, 묵시적, 법적 또는 기타 보증을 명시적으로 부인합니다.
Android Automotive 인텐트를 통해 Google 지도에서 내비게이션을 실행할 수 있습니다.
자세한 내용은 Android용 Google 지도 인텐트를 참고하세요.
Android Auto 또는 Android Automotive OS를 실행하는 차량에 앱을 제공하는 방법에 관한 자세한 내용은 자동차용 Android를 참고하세요.
개요
이 페이지에서는 Android Automotive용 Google 지도에서 사용할 수 있는 인텐트를 설명합니다. 자세한 Android 개발자 문서는 다음을 참고하세요.
인텐트 요청
인텐트를 사용하여 Android Automotive용 Google 지도를 실행하려면 먼저 작업, URI, 패키지를 지정하여 Intent 객체를 만들어야 합니다.
작업 모든 Google 지도 인텐트는 뷰 작업인
ACTION_VIEW
로 호출됩니다.URI Google 지도 인텐트는 원하는 작업을 지정하는 URI 인코딩된 문자열과 작업을 실행하는 데 사용할 일부 데이터를 사용합니다.
패키지
setPackage("com.google.android.apps.maps")
를 호출하면 Android용 Google 지도 앱이 인텐트를 처리합니다. 패키지가 설정되지 않으면 시스템에서 인텐트를 처리할 수 있는 앱을 결정합니다. 사용 가능한 앱이 여러 개인 경우 사용할 앱을 선택하라는 메시지가 표시될 수 있습니다.
인텐트를 만든 후에는 여러 가지 방법으로 시스템이 관련 앱을 실행하도록 요청할 수 있습니다. 일반적인 방법은 Intent를 startActivity()
메서드에 전달하는 것입니다. 시스템은 필요한 앱(이 경우 Google 지도)을 실행하고 해당 Activity를 시작합니다.
// Create a Uri from an intent string. Use the result to create an Intent.
Uri mapIntentUri =
Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia");
// Create an Intent from mapIntentUri. Set the action to ACTION_VIEW
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
// Make the Intent explicit by setting the Google Maps package
mapIntent.setPackage("com.google.android.apps.maps");
// Attempt to start an activity that can handle the Intent
startActivity(mapIntent);
시스템이 인텐트에 응답할 수 있는 앱을 식별할 수 없는 경우 앱이 비정상 종료될 수 있습니다. 따라서 이러한 인텐트 중 하나를 사용자에게 표시하기 전에 먼저 수신 애플리케이션이 설치되어 있는지 확인합니다.
앱이 인텐트를 수신할 수 있는지 확인하려면 Intent
객체에서 resolveActivity()
를 호출합니다. 결과가 null이 아니면 인텐트를 처리할 수 있는 앱이 하나 이상 있으며 startActivity()
를 호출해도 됩니다. 결과가 null이면 인텐트를 사용해서는 안 되며 가능하면 인텐트를 호출하는 기능을 사용 중지해야 합니다.
if (mapIntent.resolveActivity(getPackageManager()) != null) {
...
}
예를 들어 시드니의 타롱가 동물원으로 가는 세부 경로 내비게이션을 실행하려면 다음 코드를 사용하면 됩니다.
Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
if (mapIntent.resolveActivity(getPackageManager()) != null) {
startActivity(mapIntent);
}
URI 인코딩된 쿼리 문자열
Google Maps 인텐트에 전달되는 모든 문자열은 URI 인코딩되어야 합니다. 예를 들어 '1st & Pike, Seattle' 문자열은 1st%20%26%20Pike%2C%20Seattle
이 됩니다.
문자열의 공백은 %20
로 인코딩되거나 더하기 기호(+)로 대체될 수 있습니다.
android.net.Uri parse()
메서드를 사용하여 문자열을 인코딩할 수 있습니다. 예를 들면 다음과 같습니다.
Uri mapIntentUri = Uri.parse("google.navigation:q=" + Uri.encode("1st & Pike, Seattle"));
세부 경로 안내 내비게이션 시작
이 인텐트를 사용하여 지정된 하나 이상의 주소 또는 좌표로의 세부 경로 안내와 함께 Google 지도 내비게이션을 실행합니다. 경로는 항상 사용자의 현재 위치에서 제공됩니다.
google.navigation:q=a+street+address
google.navigation:q=latitude,longitude
google.navigation:place=placename
매개변수
탐색을 시작하려면 waypoints
와 함께 place
또는 q
를 사용합니다(선택사항). 원하는 경우 중간 지점을 충전소로 표시하려면 Google 지도에 전기자동차 경로 계획 보내기를 참고하세요.
q
는 내비게이션 검색의 엔드포인트를 설정합니다. 위도/경도 또는 쿼리 형식의 주소일 수 있습니다. 두 개 이상의 결과를 반환하는 쿼리 문자열인 경우 첫 번째 결과가 선택됩니다.place
는 엔드포인트를 집 또는 직장으로 설정합니다. home을 지정하면 사용자의 집으로 이동하고, work를 지정하면 사용자의 직장으로 이동합니다.avoid
는 경로가 피해야 하는 지형지물을 설정합니다.avoid
는 선택사항이며 다음 중 하나 이상으로 설정할 수 있습니다.- 통행료
t
- 고속도로
h
- 페리:
f
- 통행료
waypoints
는q
로 지정된 최종 목적지로 경로를 안내하는 하나 이상의 중간 장소를 지정합니다. 파이프 기호(|
)를 사용하여 장소를 구분하여 여러 개의 중간 지점을 지정할 수 있습니다(예:Berlin,Germany|Paris,France
). 필요한 만큼 웨이포인트를 사용할 수 있습니다. 와이포인트는 URL에 나열된 순서대로 경로에 추가됩니다. 각 중간 지점은 주소 또는 쉼표로 구분된 위도/경도 좌표일 수 있으며 동일한 인텐트에 주소와 위도/경도 좌표를 포함할 수 있습니다. 문자열은 URL 이스케이프되어야 하므로 'Berlin,Germany|Paris,France'와 같은 중간 지점은Berlin%2CGermany%7CParis%2CFrance
로 변환해야 합니다.
예
이 인텐트는 오스트레일리아 시드니의 타롱가 동물원으로 가는 세부 경로 내비게이션을 요청합니다.
Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
통행료를 지불하거나 페리를 타지 않으려면 다음과 같은 상황을 피하려는 경로를 요청할 수 있습니다.
Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&avoid=tf");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
집으로 이동하려면 다음을 사용하세요.
Uri mapIntentUri = Uri.parse("google.navigation:place=home");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
다음 세 주소로 차례로 세부 경로 내비게이션을 실행하려면 타롱가 동물원을 최종 목적지 q
로, Google 시드니와 시드니 오페라 하우스를 중간 지점으로 전달합니다.
Google 시드니
시드니 오페라 하우스
오스트레일리아 시드니 타롱가 동물원
Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&waypoints=Google+Sydney%7CSydney+Opera+House");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
q
와 마찬가지로 주소 대신 쉼표로 구분된 위도와 경도로 모든 중간 지점을 나타낼 수 있습니다. 예를 들어 주소 대신 시드니 오페라 하우스의 위도와 경도를 전달하면서 동일한 내비게이션을 실행하려면 다음을 실행합니다.
Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&waypoints=Google+Sydney%7C-33.856159,151.215256");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
Google 지도에 전기자동차 경로 계획 보내기
이 다중 대상 내비게이션 인텐트를 사용하여 일부 대상을 전기자동차 (EV) 충전소로 지정합니다. 다중 웨이포인트 인텐트를 확장하는 이 인텐트는 운전자가 전기자동차 경로 계획 앱과 Google 지도 간에 충전소 정보를 동기화하여 목적지에 도달하기에 충분한 전기자동차 배터리 충전량을 유지하는 데 도움이 됩니다.
충전소의 경우 이동 인텐트는 다음과 같습니다.
- 이름과 위도/경도를 포함해야 합니다.
- 충전 시간을 계산하는 데 사용할 수 있는 전원 출력을 선택적으로 포함할 수 있습니다.
Google은 충전소 이름과 위도/경도를 사용하여 일치하는 충전소 장소를 찾아 커넥터 유형, 총계, 속도 및 실시간 이용 가능 여부, 지원되는 결제 수단, 관심 장소(POI) 호스트와 같은 풍부한 데이터를 표시합니다. 예를 들어 내비게이션의 마지막 부분인 야외 주차장 내 운전 경로, 영업시간, 평점 등이 여기에 해당합니다. 충전소가 Google 데이터와 잘 일치하도록 하려면 <brand name>
(예: ChargePoint
)를 사용하세요.
매개변수
최종 목적지
충전소를 최종 목적지로 설정하려면 다음을 사용하세요.
q
: 충전소의 위도와 경도 값을 포함해야 합니다.q_type
:1
는 최종 목적지가 충전소임을 지정합니다.q_name
: 최종 대상의 이름입니다.q_type
이1
인 경우에 필요합니다.q_power_output_kw
: 충전소 전원 출력(킬로와트)의 이중 수입니다. 선택사항입니다.
중간점
중간 지점의 경우 모든 매개변수는 최종 목적지를 제외하고 중간 지점과 동일한 순서로 |-구분된 값 배열입니다. 병렬 배열의 요소 수가 일치하지 않으면 잘못된 인텐트로 처리됩니다.
충전소 웨이포인트를 하나 이상 추가하려면 다음 매개변수를 사용하세요. 모두 선택사항입니다. 대상 중 하나가 충전소로 표시되면 해당 대상에는 중간 지점 이름이 필수 항목이 됩니다.
waypoints
: 세부 경로 내비게이션 인텐트에 설명된 웨이포인트 목록입니다. 충전소 웨이포인트의 위도-경도 값이어야 합니다.waypoint_types
: 숫자로 지정된 웨이포인트당 유형입니다.0
는 모든 정류장 (기본값)이고1
는 충전소입니다.waypoint_names
: 웨이포인트 이름입니다. 이 필드는 충전소에 필수입니다.waypoint_power_outputs_kw
: 충전소 전원(킬로와트)의 이중 숫자입니다. 충전소의 경우 원하는 경우 중간 지점 전원 출력 값을 지정할 수 있습니다. 이 값은 일치하는 충전소를 찾을 수 없는 경우 대체로 사용됩니다. 빈 슬롯은 값이 제공되지 않았음을 의미합니다.
사용자 환경 (UX) 동작
목적지가 여러 개인 이동 인텐트의 경우 경로 개요 화면이 표시되지만 내비게이션이 자동으로 시작되지는 않습니다.
형식이 올바른 인텐트의 경우 Google 지도에 경로 개요 화면이 표시됩니다. 경로 개요 화면에는 인텐트의 모든 중간 지점과 최종 목적지가 표시되며, 해당하는 경우 충전 권장사항도 표시됩니다.
충전소로 표시된 중간 지점 또는 최종 목적지의 경우 Google 지도에서 Google 데이터베이스에서 일치하는 장소를 검색합니다.
일치하는 항목이 있으면 Google 지도에서 Google 데이터를 사용하여 사용자 인터페이스 (UI)에 충전소를 표시하고 충전소에 대한 충전 권장사항을 제공합니다. 일치 항목을 찾을 수 없는 경우 충전소 인텐트에 제공된 데이터 (위도 및 경도, 이름, 전원 출력)가 UI에 충전소를 표시하고 이 충전소에서 충전 권장사항을 제공하는 데 사용됩니다.
예
여러 충전소를 거쳐 최종 목적지까지 이동하기
다음 인텐트는 ChargePoint와 Evie라는 두 충전소를 거쳐 최종 목적지인 Port Macquarie NSW로 이동합니다.
순서대로 대상:
ChargePoint 충전소 (위치: -32.9599188,151.6240806, 전원 출력: 6.6kw)
Evie 충전소 (위치: -31.9432539,152.4699808, 전원 출력: 350kw)
포트맥쿼리 NSW
Uri mapIntentUri =
Uri.parse(
"google.navigation:q=Port+Macquarie+NSW"
+ "&waypoints=-32.9599188%2C151.6240806%7C-31.9432539%2C152.4699808"
+ "&waypoint_types=1%7C1"
+ "&waypoint_names=ChargePoint+Charging+Station%7CEvie+Charging+Station"
+ "&waypoint_power_outputs_kw=6.6%7C350");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
알 수 없는 전원 출력
전원 출력 값을 알 수 없는 경우 waypoint_power_outputs_kw
의 관련 슬롯을 비워 둡니다. 또는 모든 슬롯이 비어 있으면 waypoint_power_outputs_kw
매개변수를 지정할 필요가 없습니다.
순서대로 목적지:
ChargePoint 충전소 (위치: -32.9599188,151.6240806, 전원 출력: 알 수 없음)
포트맥쿼리 NSW
Uri mapIntentUri =
Uri.parse(
"google.navigation:q=Port+Macquarie+NSW"
+ "&waypoints=-32.9599188%2C151.6240806"
+ "&waypoint_types=1"
+ "&waypoint_names=ChargePoint+Charging+Station");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
최종 목적지를 충전소로 표시
최종 목적지를 충전소로 표시하려면 q_type
, q_name
, q_power_output_kw
매개변수를 지정합니다.
순서대로 목적지:
오스트레일리아 시드니 타롱가 동물원
ChargePoint 충전소 (위치: -32.9599188,151.6240806, 전원 출력: 알 수 없음)
Evie 충전소 (위치: -31.9432539,152.4699808, 전원 출력: 350kw)
Uri mapIntentUri =
Uri.parse(
"google.navigation:q=-31.9432539,152.4699808&q_type=1&q_name=Evie+Charging+Station&q_power_output_kw=350"
+ "&waypoints=Taronga+Zoo%2C+Sydney+Australia%7C-32.9599188%2C151.6240806"
+ "&waypoint_types=0%7C1"
+ "&waypoint_names=%7CChargePoint+Charging+Station"
+ "&waypoint_power_outputs_kw=%7C");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
작업 인텐트
인터페이스가 있는 다음과 같은 작업 인텐트를 사용할 수 있습니다.
작업 | 설명 |
---|---|
geo.action:?act=mute |
모든 내비게이션 음성 안내를 음소거합니다. |
geo.action:?act=unmute |
내비게이션 음성 안내를 음소거 해제합니다. |
geo.action:?act=show_traffic |
지도에 교통 선을 표시합니다. |
geo.action:?act=hide_traffic |
지도에서 교통정보 선을 숨깁니다. |
geo.action:?act=show_satellite |
지도에 위성 이미지를 표시합니다. |
geo.action:?act=hide_satellite |
지도에서 위성 이미지를 숨깁니다. |
geo.action:?act=query_next_turn |
Google 지도에서 다음 회전 구간을 음성으로 알려줍니다 (탐색 중만 작동). |
geo.action:?act=distance_to_next_turn |
Google 지도에서 다음 회전까지의 거리를 음성으로 알려줍니다 (탐색 중만 작동). |
geo.action:?act=time_to_next_turn |
Google 지도에서 다음 회전까지의 시간을 음성으로 알려줍니다 (내비게이션 중만 작동). |
geo.action:?act=distance_to_destination |
Google 지도가 목적지까지의 거리를 알려줍니다 (탐색 중만 작동). |
geo.action:?act=go_back |
Google 지도에서 UI의 이전 화면으로 돌아갑니다. |
geo.action:?act=query_current_road |
Google 지도에서 현재 도로를 알려줍니다. |
geo.action:?act=query_destination |
Google 지도에서 목적지를 알려줍니다. |
geo.action:?act=apply_electric_vehicle_connector_filter |
전기자동차 충전소 검색 결과에 커넥터 유형 필터를 적용합니다. |
geo.action:?act=remove_electric_vehicle_connector_filter |
전기자동차 충전소 검색 결과의 커넥터 유형 필터를 삭제합니다. |
geo.action:?act=apply_electric_vehicle_payment_filter |
전기자동차 충전소 검색 결과에 결제 필터를 적용합니다. |
geo.action:?act=remove_electric_vehicle_payment_filter |
전기자동차 충전소 검색 결과의 결제 필터를 삭제합니다. |
geo.action:?act=apply_electric_vehicle_fast_charging_filter |
전기자동차 충전소 검색 결과에 급속 충전 필터를 적용합니다. |
geo.action:?act=remove_electric_vehicle_fast_charging_filter |
전기자동차 충전소 검색 결과에서 급속 충전 필터를 삭제합니다. |
geo.action:?act=avoid_tolls |
사용자가 내비게이션을 사용 중인 경우 Google 지도에 통행료가 부과되는 경로를 피하도록 지시합니다. 이 경우 현재 경로에 통행료가 있는 경우 경로가 변경될 수 있습니다. |
geo.action:?act=allow_tolls |
사용자가 경로를 탐색하는 경우 Google 지도에 통행료가 있는 경로를 허용하도록 지시합니다. 통행료를 허용하면 더 나은 경로를 사용할 수 있게 되어 경로가 변경될 수 있습니다. |
geo.action:?act=avoid_ferries |
사용자가 내비게이션을 사용 중인 경우 Google 지도에 페리가 있는 경로를 피하도록 지시합니다. 이로 인해 현재 활성 경로에 페리가 있는 경우 경로가 변경될 수 있습니다. |
geo.action:?act=allow_ferries |
사용자가 경로를 탐색하는 경우 Google 지도에 페리가 있는 경로를 허용하도록 지시합니다. 페리를 허용하면 더 나은 경로를 사용할 수 있게 되어 경로가 변경될 수 있습니다. |
geo.action:?act=avoid_highways |
사용자가 경로를 탐색하는 경우 Google 지도에 고속도로가 포함된 경로를 피하도록 지시합니다. 이 경우 현재 활성 경로에 고속도로가 있는 경우 경로가 변경될 수 있습니다. |
geo.action:?act=allow_highways |
사용자가 탐색 중인 경우 Google 지도에 고속도로가 포함된 경로를 허용하도록 지시합니다. 고속도로를 허용하면 더 나은 경로를 사용할 수 있게 되어 경로가 변경될 수 있습니다. |
geo.action:?act=eta |
사용자가 내비게이션을 사용 중인 경우 Google 지도는 도착 예정 시간을 음성으로 알려줍니다 (예:오전 9시 15분). |
geo.action:?act=time_to_destination |
사용자가 내비게이션을 사용 중인 경우 Google 지도는 도착까지의 예상 시간 (예: 15분)을 음성으로 알려줍니다. |
geo.action:?act=exit_navigation |
내비게이션을 종료합니다. |
geo.action:?act=select_search_result&id=0 |
현재 검색 결과가 화면에 표시된 경우 (아래 참고) 제공된 ID 매개변수를 기반으로 n번째 검색 결과로 탐색을 시작합니다. 색인은 0부터 시작합니다. 즉, 위의 인텐트는 목록의 첫 번째 결과를 선택합니다.
|