장소 ID

장소 ID는 Google Places 데이터베이스 및 Google Maps에 있는 장소를 고유하게 식별합니다.

  1. 개요
  2. 장소 ID를 사용하여 장소 세부정보 검색
  3. 여러 장소 ID 및 장소 ID 범위 처리
  4. 특정 장소의 ID 찾기
  5. 나중에 사용하기 위해 장소 ID 저장

특정 장소의 ID 찾기

특정 장소의 장소 ID를 찾고 있으세요? 아래의 Place ID Finder를 사용하여 장소를 검색하고 ID를 획득하세요.

또는 Google Maps JavaScript API 문서에서 코드로 Place ID Finder를 표시할 수 있습니다.

개요

장소 ID는 장소를 고유하게 식별하는 텍스트 식별자입니다. 다음 예시와 유사합니다(식별자 길이는 달라질 수 있음).

ChIJrTLr-GyuEmsRBfy61i59si0

장소 ID는 사업체, 랜드마크, 공원 및 교차로를 포함한 대부분의 위치에서 사용할 수 있으며 안정적입니다. 즉, 특정 장소에 대해 장소 ID를 식별한 후에 다음에 해당 장소를 찾을 때 이 값을 재사용할 수 있습니다.

Google Places API 및 다수의 Google Maps API에서 동일한 장소 ID를 사용할 수 있습니다. 예를 들어, 동일한 장소 ID를 사용하여 Places API, Google Maps JavaScript API, Google Maps Geocoding API, Google Maps Embed APIGoogle Maps Roads API에서 장소를 참조할 수 있습니다.

장소 ID를 사용하여 장소 세부정보 검색

장소 ID는 특정 장소에 대한 신뢰할 수 있는 정보 참조 방법을 제공합니다. 일반적인 장소 ID 사용 방식은 (Google Maps JavaScript API에서 Google Places API Web Service 또는 장소 라이브러리를 사용하여) 장소를 검색한 다음, 반환된 장소 ID를 사용하여 장소 세부정보를 검색하는 것입니다. 장소 ID를 저장하고 나중에 이를 사용하여 동일한 장소 세부정보를 검색할 수도 있습니다.

Google Maps JavaScript API에서 장소 라이브러리 사용 예시

JavaScript 앱에서 장소 ID를 사용하려면 먼저 장소 검색에서 반환하거나 Place Autocomplete 서비스의 getPlace()에서 반환한 PlaceResult에 나오는 ID를 찾아야 합니다. 그런 다음 장소 ID를 사용하여 장소 세부정보를 찾을 수 있습니다.

var map;

function initialize() {
  // Create a map centered in Pyrmont, Sydney (Australia).
  map = new google.maps.Map(document.getElementById('map'), {
    center: {lat: -33.8666, lng: 151.1958},
    zoom: 15
  });

  // Search for Google's office in Australia.
  var request = {
    location: map.getCenter(),
    radius: '500',
    query: 'Google Sydney'
  };

  var service = new google.maps.places.PlacesService(map);
  service.textSearch(request, callback);
}

// Checks that the PlacesServiceStatus is OK, and adds a marker
// using the place ID and location from the PlacesService.
function callback(results, status) {
  if (status == google.maps.places.PlacesServiceStatus.OK) {
    var marker = new google.maps.Marker({
      map: map,
      place: {
        placeId: results[0].place_id,
        location: results[0].geometry.location
      }
    });
  }
}

google.maps.event.addDomListener(window, 'load', initialize);

여러 장소 ID 및 장소 ID 범위 처리

각 장소 ID는 한 장소만 참조할 수 있지만, 단일 장소에서 2개 이상의 장소 ID를 가질 수 있습니다. 한 장소에 대해 여러 ID를 다루는 가장 일반적인 사례는 애플리케이션에 최초로 범위가 지정된 장소를 추가한 다음 Google 전체 범위를 수신하는 경우입니다.

Places API Web Service를 사용하여 장소를 추가하면 새 장소의 장소 ID가 즉시 수신됩니다. 이 장소 ID는 본인의 애플리케이션에 대해서만 범위가 지정됩니다. 그런 다음 장소가 중재 큐에 입력되고 Google Places 데이터베이스에 추가되기 위해 승인을 기다립니다. 승인되면 해당 장소가 모든 애플리케이션과 Google Maps에서 사용할 수 있는 새 장소 ID를 받게 됩니다. 자세한 내용은 장소 추가 문서를 참조하세요.

장소가 새 장소 ID를 가질 수 있는 다른 경우가 있습니다. 예를 들어, 사업체를 새 위치로 이전하는 경우에 이러한 상황이 발생할 수 있습니다.

다음 다이어그램은 장소가 2개 이상의 장소 ID를 갖게 되는 한 가지 가능한 시나리오를 보여줍니다.

여러 ID로 장소 검색

장소가 여러 ID를 가진 경우, Places API 요청엔 아무런 영향이 없지만, 응답에는 영향을 줍니다.

장소 ID를 지정하여 장소를 요청하는 경우, 응답에서 항상 동일한 장소를 수신할 것으로 확신할 수 있습니다(장소가 계속 존재하는 경우).

하지만 응답이 요청한 장소에 대해 2개 이상의 장소 ID를 갖거나 요청한 것과 다른 장소 ID를 포함할 수 있습니다.

  • Places API Web Service에서의 동작: 장소가 여러 ID를 갖고 있으면 Places API Web Service가 해당 장소의 기본 ID와 해당 장소의 모든 대체 ID를 포함한 배열을 반환합니다. 장소 세부정보장소 검색 문서를 참조하세요.
  • Places JavaScript 라이브러리 및 기타 API의 동작: 특정 장소 ID에 대해 장소 세부정보를 요청하면 요청한 장소에 대한 세부정보를 수신합니다. 하지만 장소가 이전 요청 이후 새 ID를 수신한 경우 장소 ID가 다를 수 있습니다. 계속 원래의 장소 ID를 사용하여 장소에 안전하게 액세스할 수 있지만, 가급적 가장 최근에 반환된 장소 ID를 사용하도록 교체하는 것이 좋습니다.

나중에 사용하기 위해 장소 ID 저장

장소 ID는 Google Maps API 서비스 약관의 10.5.d 조항에 명시된 캐싱 제한에서 제외됩니다. 따라서 장소 ID 값을 무제한으로 저장할 수 있습니다.

다음에 대한 의견 보내기...