🗺️ 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: 장소의 고유 ID
    • fields: 조회할 필드 (예: 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를 선택하면 됩니다! 🎯

반응형