새로운 Places API 및 Routes API를 사용하는 방법의 예가 포함된 이 문서의 최신 버전이 있습니다.
일반적으로 사용자가 관심 장소 (POI)로 운전할 때는 주차장이나 액세스 포인트와 같은 근처 위치로의 내비게이션이 필요합니다. 공항이나 쇼핑몰에 가야 하는 운전자를 생각해 보세요. 공항으로 이동할 때 운전자가 공항 중앙이 아닌 터미널이나 하차 지점에 도착하려고 합니다. 마찬가지로 쇼핑몰 옆에 있는 주차장은 자동차를 소유한 사용자에게 훨씬 더 나은 옵션일 수 있습니다. 이 경우 운전자를 안내하는 앱이나 서비스를 개발할 때는 먼저 운전자가 도착하려는 위치를 찾은 다음 운전자에게 해당 위치 근처의 선택적 목적지를 제공합니다. 이 접근 방식을 사용하면 Google Maps Platform에서 제공하는 위치 데이터를 활용하는 작지만 스마트한 개발 작업으로 고객에게 더 나은 서비스를 제공하고 고객의 시간을 소중하게 생각한다는 점을 보여줄 수 있습니다.
Places API와 Directions API를 순차적으로 또는 함께 사용하여 목적지 근처에 주차할 적절한 위치를 찾는 방법을 보여줍니다. 이 솔루션은 불확실성과 여러 상호작용을 제거하여 최종 목적지에 더 가까워진 후 주차할 장소를 찾는 것을 목표로 합니다. 이러한 사례를 구체적으로 구현하는 방법을 보여주는 두 가지 예를 살펴보겠습니다.
예 1 - 주차장이 없는 관광 명소
경로를 별도로 가져와야 하므로 갓길과 직접 연결되지 않은 위치를 선택합니다. 도착지는 파리의 노트르담이고 출발지는 Gare de l’Est 기차역 (48.87697775149635, 2.3592247806755564)입니다.
운전자는 노트르담 북쪽에서 약 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®ion=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®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 요청
- 해당 좌표에서 300m 이내에 있는 주차장을 찾기 위한 Places API 요청
- 주차장으로 가는 경로를 찾기 위한 Directions API 요청
예시 2 - 대형 공항의 터미널로 안내
"types" : [ "airport", "point_of_interest", "establishment" ],
하지만 대형 공항을 방문한 적이 있는 사람이라면 잘못된 위치에 도착한 경우 터미널 간에 이동하는 데 상당한 시간이 걸린다는 것을 알고 있습니다. 이 경우 검색 결과의 유형이 '공항'이므로 런던 히드로 공항 (51.47016927594547, -0.45432767852489075)의 위치를 사용하여 '터미널'을 검색하는 후속 쿼리를 자동으로 실행하는 것이 유용합니다. 이 예에서는 검색 반경을 3,000미터로 제한하는 선택사항도 확인할 수 있습니다.
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 요청
- Heathrow 공항 좌표와 가까운 모든 터미널을 찾기 위한 Places API 요청
- 터미널 5로 가는 경로를 가져오기 위한 Directions API 요청
결론
보시다시피 자동차로 이동하는 고객에게 프리미엄 서비스를 제공하는 데 필요한 개발 작업은 비교적 적으며, 이를 통해 고객의 요구사항에 대한 생각을 쉽게 보여줄 수 있습니다.
개발 목적으로는 고객을 위한 서비스를 빌드하는 데 도움이 되는 여러 라이브러리와 도구를 사용할 수 있습니다. 공개적으로 제공되는 Google 지도 플랫폼용 GitHub 저장소를 살펴보세요.
다음 작업
책임 저자
미코 토이바넨 | Google Maps Platform 솔루션 엔지니어