자동차로 이동할 때 최적의 사용자 환경을 만들기 위한 도움말

새로운 Places API 및 Routes API를 사용하는 방법을 보여주는 예가 포함된 이 문서의 새 버전이 있습니다.

일반적으로 사용자가 관심 장소 (POI)로 운전할 때 실제로 주차장이나 액세스 포인트와 같은 인근 위치로의 내비게이션이 필요합니다. 공항이나 쇼핑몰로 가야 하는 운전자를 생각해 보세요. 공항으로 갈 때 운전자는 공항 단지의 중심이 아니라 터미널이나 하차 지점에 도달하려고 합니다. 마찬가지로 쇼핑센터 옆에 있는 주차장이 자동차를 소유한 사용자에게 훨씬 더 나은 선택일 수 있습니다. 이 경우 운전자를 안내하는 앱 또는 서비스를 개발할 때 먼저 운전자가 가려는 위치를 찾은 다음 해당 위치 근처의 선택적 목적지를 운전자에게 제공합니다. 이 접근 방식을 사용하면 Google Maps Platform에서 제공하는 위치 데이터를 활용하는 작지만 스마트한 개발 노력으로 고객에게 더 나은 서비스를 제공하고 고객의 시간을 소중히 여긴다는 것을 보여줄 수 있습니다.

[시스템 컨텍스트] 고급 내비게이션 시스템
자동차로 운전자를 위치로 안내할 때 관련된 시스템의 단순화된 뷰
개략적인 시스템 다이어그램

Places API와 Directions API를 순서대로 또는 조합하여 목적지 옆에 주차할 적절한 위치를 식별하는 방법을 보여드리겠습니다. 이 솔루션은 최종 목적지에 더 가까워졌을 때 주차할 장소를 찾는 데 필요한 불확실성과 여러 상호작용을 없애는 것을 목표로 합니다. 이러한 사례를 자세히 구현하는 방법을 보여주는 두 가지 예를 살펴보겠습니다.

예 1 - 주차장이 없는 관광 명소

경로를 별도로 가져와야 하도록 도로와 직접 연결되지 않은 위치를 선택해 보겠습니다. 목적지 는 파리의 노트르담 대성당 이고 시작 지점 으로는 파리 동역 기차역 (48.87697775149635, 2.3592247806755564)을 사용하겠습니다.

Gare de l'Est

운전자는 노트르담 대성당에서 북쪽으로 약 16분 거리에 있는 역을 출발합니다. 노트르담 대성당은 다리로 연결된 섬에 있는 유명한 관광 명소로, 일방통행 도로가 있고 근처에 대형 주차장이 없으므로 흥미로운 과제가 될 것입니다.

Places API 요청

이 예시 Places API 요청은 '텍스트 검색'을 사용하여 노트르담 대성당을 찾습니다. 자세한 내용은 개발자 문서를 참고하세요. 이러한 예의 'YOUR_KEY'는 Google Cloud 콘솔에서 사용 설정된 Google Maps Platform Places 및 Directions API의 API 키입니다. 자세한 설명은 Google Maps Platform 시작하기 문서를 참고하세요.

https://maps.googleapis.com/maps/api/place/textsearch/json?query=notre_dame&location=48.864716%2C2.349014&region=fr&key=YOUR_KEY

위 요청에 대한 응답은 다음 위도 및 경도 좌표를 제공합니다.

  "results" : [
      {
        "formatted_address" : "Notre Dame, Paris",
        "geometry" : {
           "location" : {
               "lat" : 48.8527288,
                },
  ...

보시다시피 좌표는 실제로 노트르담 대성당을 정확히 가리킵니다.

노트르담 사진
지도에 표시된 노트르담

개발자 또는 서비스 제공업체는 운전자에게 '노트르담 대성당 근처 주차장을 찾으시나요?'라는 메시지를 자동으로 표시하는 것이 좋습니다. 사용자 환경은 기기와 화면에 따라 다르지만, 이 경우 짧은 시간 후에 사라지는 미묘한 팝업 텍스트를 고려해 볼 수 있습니다. 노트르담 대성당 근처 주차장을 찾으려면 유형 'parking' 및 반경 '300' 매개변수가 설정된 Places API 텍스트 검색을 실행합니다. 이 예에서는 노트르담 대성당에서 300m 이내의 주차 공간으로 결과를 편향시킵니다.

https://maps.googleapis.com/maps/api/place/textsearch/json?query=parking
&location=48.8527288%2C2.3505635&region=fr&type=parking&radius=300&key=YOUR_KEY

첫 번째 결과는 48.850591, 2.3486436에 있는 'Parking Saemes Maubert-Lagrange'입니다. Directions API 요청을 실행하는 다음 부분에서 이 위치를 사용해 보겠습니다.

Directions API 요청

역에서 노트르담 대성당 근처의 주차 공간까지의 경로를 찾으려면 Directions API 요청을 실행해야 합니다. 출발지 및 목적지 매개변수를 설정하기만 하면 됩니다. 자세한 내용은 개발자 문서 를 참고하세요.

https://maps.googleapis.com/maps/api/directions/json?origin=48.8767903,2.3592251&destination=48.850591%2C2.3486436&key=YOUR_KEY

Direction API 응답에는 일반적으로 여러 경로 제안이 포함됩니다. 각 경로는 여러 '구간'으로 구성되며, 이러한 구간에는 이동 거리와 좌표를 보여주는 여러 '단계'가 포함됩니다. 자동차로 도달할 수 있는 최종 좌표를 찾으려면 선택한 경로의 마지막 구간의 마지막 단계에 있는 'end_location' 필드를 사용합니다.

이 위치는 첫 번째 선택이 아닌 것처럼 보일 수 있지만 지도나 Google 스트리트 뷰를 보면 이 위치가 노트르담 대성당에서 도보로 매우 가까운 거리(약 6~7분)에 있음을 알 수 있습니다.

주차장에서 노트르담까지의 도보 경로

주차 공간에서 노트르담 대성당까지의 도보 경로

예 1 요약

보시다시피 자동차의 주차 공간을 찾는 데는 몇 번의 API 호출과 운전자에게 제안을 표시하는 것만 필요합니다. 이렇게 하면 사용자가 일방통행 도로를 운전하거나 혼잡한 관광 명소에서 자동차를 주차할 장소를 찾으려고 하지 않아도 되므로 시간을 절약할 수 있습니다. 요약하자면 다음과 같은 API 요청을 실행했습니다.

  • 노트르담 대성당 좌표를 찾는 Places API 요청
  • 해당 좌표에서 300m 이내의 주차 공간을 찾는 Places API 요청
  • 주차 공간으로 가는 경로를 찾는 Directions API 요청

예 2 - 대형 공항의 터미널로 안내

지도에 표시된 히스로 공항
운전자가 여러 위치, POI 또는 잠재적 하차 지점이 있는 넓은 지역에 도달하려고 하는 또 다른 예를 살펴보겠습니다. 운전자는 영국 웸블리 스타디움 (51.557263604707224, -0.2794575145680608)에서 출발하여 런던 히스로 공항 터미널 5 에 도착하려고 합니다. 일반적으로 사용자는 '히스로'를 입력하기 시작하며, 대부분의 경우 올바른 결과로 보이면 처음 2~3개의 결과 중 하나를 선택합니다. 선택한 결과에서 '유형' 필드 값을 읽어 위치가 공항임을 알 수 있습니다. 여기에서 유형의 전체 목록을 확인할 수 있습니다. here

  "types" : [ "airport", "point_of_interest", "establishment" ],

하지만 대형 공항을 방문한 적이 있는 사람은 잘못된 위치에 도착한 경우 터미널 간 이동에 상당한 시간이 걸린다는 것을 알고 있습니다. 이 경우 검색 결과의 유형이 '공항'이므로 런던 히스로 공항의 위치 (51.47016927594547, -0.45432767852489075)를 사용하여 '터미널'을 검색하는 후속 쿼리를 자동으로 실행하는 것이 유용합니다. 이 예에서는 검색 반경 3,000m의 선택적 제한도 확인할 수 있습니다.

  https://maps.googleapis.com/maps/api/place/textsearch/json?query=terminal&location=51.47016927594547%2C-0.45432767852489075&region=gb&key=YOUR_KEY&radius=3000

위 쿼리는 터미널 목록과 해당 터미널의 개별 하차 지점을 제공합니다. 결과 목록에서 '런던 히스로 공항 터미널 5'와 장소 ID를 찾을 수 있습니다.

 "place_id" : "ChIJtQRd6XVxdkgRTUGZtcsoGNc",

'place_id' 매개변수를 사용하면 Directions API에 임의의 좌표가 아닌 장소에 도달하려고 한다고 알릴 수 있습니다.

  https://maps.googleapis.com/maps/api/directions/json?origin=51.557263604707224,-0.2794575145680608&destination=place_id:ChIJtQRd6XVxdkgRTUGZtcsoGNc&key=YOUR_KEY

이전 예와 마찬가지로 JSON 응답의 모든 단계를 읽으면 여정의 마지막 부분과 최종 위치의 위도 및 경도 좌표 (51.47079979999999,-0.4896765)를 찾을 수 있습니다.

히드로 터미널 5

예 2 요약

이전 예와 마찬가지로 운전자에게 개선된 안내를 제공하기 위한 개발 노력은 매우 작으며 운전자에게 절약되는 시간의 이점은 쉽게 측정할 수 있습니다. 다음과 같은 요청을 실행했습니다.

  • 히스로 공항을 찾는 Places API 요청
  • 히스로 공항 좌표 근처의 모든 터미널을 찾는 Places API 요청
  • 터미널 5로 가는 경로를 가져오는 Directions API 요청

결론

보시다시피 자동차로 여행하는 고객에게 프리미엄 서비스를 제공하는 데 필요한 개발 노력은 비교적 작으며 고객의 요구사항을 어떻게 고려하고 있는지 쉽게 보여줄 수 있습니다.

개발 목적으로 고객을 위한 서비스를 구축하는 데 도움이 되는 여러 라이브러리와 도구를 사용할 수 있습니다. Google Maps Platform의 공개적으로 사용 가능한 GitHub 저장소를 살펴보세요.

다음 작업

주 작성자

Mikko Toivanen | Google Maps Platform 솔루션 엔지니어