🗺️ GIS & RS/📚 GIS (지리정보시스템)
[GIS] Google Places API를 이용하여 장소를 검색하는 방법
김 홍시
2025. 2. 7. 12:21
반응형
Google Places API를 이용하여 장소를 검색하는 방법에는 여러 가지가 있습니다. 목적에 따라 적절한 API를 선택하면 됩니다.
🔍 Google Places API를 이용한 장소 검색 방법
1. Text Search (텍스트 검색)
설명: 사용자가 입력한 키워드를 기반으로 장소를 검색하는 방법입니다.
주요 파라미터:
query
: 검색할 키워드 (예: "스타벅스 강남")location
: 중심 좌표 (위도, 경도)radius
: 검색 반경 (미터 단위)
API 엔드포인트:
https://maps.googleapis.com/maps/api/place/textsearch/json?query=스타벅스&location=37.5665,126.9780&radius=1000&key=YOUR_API_KEY
사용 예시:
import requests API_KEY = "YOUR_API_KEY" query = "스타벅스 강남" location = "37.5665,126.9780" radius = 1000 url = f"https://maps.googleapis.com/maps/api/place/textsearch/json?query={query}&location={location}&radius={radius}&key={API_KEY}" response = requests.get(url) data = response.json() print(data)
2. Nearby Search (주변 검색)
- 설명: 특정 좌표를 중심으로 반경 내 장소를 검색하는 방법입니다.
- 주요 파라미터:
location
: 중심 좌표 (위도, 경도)radius
: 검색 반경 (미터 단위, 최대 50,000m)type
: 장소 유형 (예:restaurant
,cafe
,hospital
등)
- API 엔드포인트:
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=37.5665,126.9780&radius=1000&type=cafe&key=YOUR_API_KEY
- 사용 예시:
url = f"https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=37.5665,126.9780&radius=1000&type=cafe&key={API_KEY}" response = requests.get(url) data = response.json() print(data)
3. Find Place (장소 찾기)
- 설명: 특정 입력값(이름, 전화번호 등)을 기반으로 장소를 찾는 방법입니다.
- 주요 파라미터:
input
: 검색할 텍스트 (예: "강남역 스타벅스")inputtype
: 입력 타입 (예:textquery
또는phonenumber
)fields
: 반환할 필드 (예:place_id
,name
,geometry
등)
- API 엔드포인트:
https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=스타벅스 강남&inputtype=textquery&fields=place_id,name,geometry&key=YOUR_API_KEY
- 사용 예시:
url = f"https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=스타벅스 강남&inputtype=textquery&fields=place_id,name,geometry&key={API_KEY}" response = requests.get(url) data = response.json() print(data)
4. Place Details (장소 세부정보 조회)
- 설명: 특정 장소(
place_id
)에 대한 상세 정보를 조회하는 방법입니다. - 주요 파라미터:
place_id
: 장소의 고유 IDfields
: 조회할 필드 (예:name
,formatted_address
,rating
,opening_hours
등)
- API 엔드포인트:
https://maps.googleapis.com/maps/api/place/details/json?place_id=PLACE_ID&fields=name,formatted_address,rating,opening_hours&key=YOUR_API_KEY
- 사용 예시:
place_id = "ChIJN1t_tDeuEmsRUsoyG83frY4" url = f"https://maps.googleapis.com/maps/api/place/details/json?place_id={place_id}&fields=name,formatted_address,rating,opening_hours&key={API_KEY}" response = requests.get(url) data = response.json() print(data)
5. Autocomplete (자동완성)
- 설명: 사용자가 입력하는 동안 자동완성된 장소 목록을 추천하는 방법입니다.
- 주요 파라미터:
input
: 사용자가 입력한 검색어types
: 검색할 장소 유형 (예:geocode
,establishment
,address
등)location
: 중심 좌표 (위도, 경도)radius
: 검색 반경 (미터 단위)
- API 엔드포인트:
https://maps.googleapis.com/maps/api/place/autocomplete/json?input=스타&types=establishment&location=37.5665,126.9780&radius=1000&key=YOUR_API_KEY
- 사용 예시:
url = f"https://maps.googleapis.com/maps/api/place/autocomplete/json?input=스타&types=establishment&location=37.5665,126.9780&radius=1000&key={API_KEY}" response = requests.get(url) data = response.json() print(data)
🛠 어떤 방법을 선택해야 할까?
검색 방법 | 사용 목적 |
---|---|
Text Search | 키워드로 장소를 검색 (예: "강남역 스타벅스") |
Nearby Search | 특정 좌표를 중심으로 반경 내 장소 찾기 |
Find Place | 특정 입력값(이름, 전화번호 등)으로 장소 찾기 |
Place Details | 특정 장소의 세부 정보 조회 |
Autocomplete | 검색어 자동완성 추천 |
✅ 결론
- 가장 일반적인 검색:
Text Search
또는Find Place
- 내 주변 장소 검색:
Nearby Search
- 특정 장소 세부 정보 조회:
Place Details
- 검색 자동완성 기능:
Autocomplete
사용하려는 목적에 맞춰 적절한 API를 선택하면 됩니다! 🎯
반응형