일반적으로 사용자가 관심 장소 (POI)로 운전할 때 주차장이나 액세스 포인트와 같은 주변 위치로 이동하는 내비게이션이 실제로 필요합니다. 공항이나 쇼핑몰에 가야 하는 운전자를 상상해 보세요. 공항에 갈 때 운전자는 공항 단지의 중심이 아닌 터미널이나 하차 지점에 도착하려고 합니다. 마찬가지로 쇼핑센터 옆의 주차장은 자동차가 있는 사용자에게 훨씬 더 나은 옵션일 수 있습니다. 이 경우 운전자를 안내하는 앱이나 서비스를 개발할 때 먼저 운전자가 이동할 위치를 찾은 다음 운전자에게 해당 위치 근처의 선택적 목적지를 제공합니다. 이 접근 방식을 사용하면 Google Maps Platform에서 제공하는 위치 데이터를 활용하는 작지만 현명한 개발 노력을 통해 고객에게 더 나은 서비스를 제공하고 고객의 시간을 소중히 여긴다는 것을 보여줄 수 있습니다.
Places API와 Directions API를 순차적으로 또는 조합하여 사용하여 목적지 옆에 주차할 올바른 위치를 식별하는 방법을 보여줍니다. 이 솔루션은 불확실성과 다양한 상호작용을 없애 최종 목적지에 가까워지면 운전하면서 주차할 장소를 찾는 것을 목표로 합니다. 이러한 사례를 구현하는 방법의 두 가지 예를 자세히 살펴보겠습니다.
예 1 - 주차장이 없는 관광 명소
도로변에 직접 연결되지 않은 위치를 선택해 경로를 별도로 검색해야 합니다. 목적지는 파리의 노트르담입니다. 출발지로 동역에서 기차역 (48.87697775149635, 2.3592247806755)을 사용하겠습니다.
운전자는 노트르담에서 북쪽으로 약 16분 거리에 역을 떠납니다. 노트르담은 다리로 이어지는 섬의 유명한 관광 명소이며, 일부 일방통행 도로가 있고 근처에 넓은 주차장이 없습니다. 이 때문에 이번 대회를 통해 흥미로운 도전을 할 수 있습니다.
Places API 요청
이 Places API 요청 예에서는 '텍스트 검색'을 사용하여 노트르담을 찾습니다. 자세한 내용은 개발자 문서를 참고하세요. 이 예에서 'YOUR_KEY'는 Google Cloud 콘솔에서 사용 설정된 Google Maps Platform 장소 및 Directions API에 대해 보유하고 있는 API 키입니다. 자세한 설명은 Google Maps Platform 시작하기 문서를 참고하세요.
https://maps.googleapis.com/maps/api/place/textsearch/json?query=notre_dame&location=48.864716%2C2.349014®ion=fr&key=YOUR_KEY
위 요청에 대한 응답은 다음과 같은 위도 및 경도 좌표를 제공합니다.
"results" : [ { "formatted_address" : "Notre Dame, Paris", "geometry" : { "location" : { "lat" : 48.8527288, }, ...
보시다시피 좌표가 실제로 노트르담을 가리키고 있습니다.
|
|
개발자 또는 서비스 제공업체는 운전자에게 '노트르담 근처 주차장을 찾고 계신가요?'라는 메시지를 자동으로 표시하는 것이 좋습니다. 사용자 환경은 기기와 화면에 따라 다르지만, 금방 사라지는 은은한 팝업 텍스트는 이 경우 고려해 볼 필요가 있습니다. 노트르담 주변 주차장을 찾으려면 'parking' 입력 및 반경 '300' 매개변수가 설정된 Places API 텍스트 검색을 실행합니다. 이 예에서는 노트르담에서 300미터 이내의 주차 구역에 대한 상세 결과를 표시합니다.
https://maps.googleapis.com/maps/api/place/textsearch/json?query=parking
&location=48.8527288%2C2.3505635®ion=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 요청
- 해당 좌표에서 300미터 이내의 주차 공간을 찾기 위한 Places API 요청
- 주차 구역까지의 경로를 찾기 위한 Directions API 요청
예 2 - 대형 공항의 터미널 안내
"types" : [ "airport", "point_of_interest", "establishment" ],
하지만 대형 공항을 방문한 적이 있는 사람은 우연히 잘못된 위치에 도착했을 때 터미널 간에 환승하는 데 상당한 시간이 걸린다는 사실을 알고 있습니다. 이 경우 검색 결과의 유형이 '공항'이므로 런던 히드로 공항의 위치 (51.47016927594547, -0.45432767852489075)를 사용하여 자동으로 '터미널'을 검색하는 것이 유용합니다. 이 예에서는 검색 반경 3000미터에 대한 선택적 제한도 확인할 수 있습니다.
https://maps.googleapis.com/maps/api/place/textsearch/json?query=terminal&location=51.47016927594547%2C-0.45432767852489075®ion=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)를 확인할 수 있습니다.
예시 2 요약
이전 예와 마찬가지로 드라이버에 개선된 안내를 제공하기 위한 개발 노력은 매우 적고 드라이버에 절약된 시간상의 이점을 쉽게 측정할 수 있습니다. 다음과 같은 요청을 했습니다.
- 히스로 공항을 찾기 위한 Places API 요청
- 히스로 공항 좌표에 가까운 모든 터미널을 찾기 위한 Places API 요청
- 터미널 5로 가는 경로를 가져오기 위한 Directions API 요청
결론
보시다시피 자동차로 여행하는 고객에게 프리미엄 서비스를 제공하는 데 필요한 개발 노력은 비교적 적으므로 고객의 니즈에 대해 어떻게 생각하는지 쉽게 보여줄 수 있습니다.
고객을 위한 서비스를 빌드하는 데 도움이 되는 다양한 라이브러리와 도구를 개발 목적으로 사용할 수 있습니다. 공개적으로 사용 가능한 Google Maps Platform용 GitHub 저장소를 살펴보세요.
다음 작업
주요 저자
미코 토이바넨 | Google Maps Platform 솔루션 엔지니어