[기술정보] Google Maps Places API 파라미터 변경 소식

머신러닝을 이용하여 사용자가 찾는 결과를 알려주는 똑똑한 Places API(참고)! 이제는 이 Places API의 nearby와 radar search에서 keyword와 name 파라미터가 동일하게 사용할 수 있다고 합니다. 하지만 keyword 파라미터만 사용하는 것을 권고한다고 하는데요, 어떤 내용인지 아래에서 자세히 알아 보겠습니다.

변경 전: keyword != name

Places API 사용자 여러분, 검색에 사용되는 파라미터에 작은 변화가 있었습니다. 이전 Places API의 nearby와 radar search는 keyword와 name 파라미터를 모두 사용했습니다. keyword 파라미터는 기본적인 검색어였고, name 파라미터는 특정 이름을 포함한 위치를 찾기 위한 옵션으로 사용할 수 있었습니다.

변경사항 1: keyword == name

이 두 파라미터는 이제 동일하게 사용됩니다. 그래서 한 request에서 name과 keyword 파라미터 둘 중 어느 것을 사용하더라도 동일한 검색 결과를 반환하게 됩니다.

두 검색결과를 비교해 보겠습니다.

js_keyword_name

<Google Maps – JavaScript Places API 결과(name, keyword 파라미터 각각 사용)>

web_keyword_name

<Google Maps – Web Places API 결과(name, keyword 파라미터 각각 사용)>

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=500&type=restaurant&name=cruise&key=YOUR_API_KEY

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=500&type=restaurant&keyword=cruise&key=YOUR_API_KEY

보시는 것과 같이 자바스크립트, 웹 API에서 keyword와 name 파라미터를 각각 사용한 경우 모두 같은 결과를 반환하는 것을 확인하실 수 있습니다.

변경 사항2: 혼합은 가능하지만 keyword 파라미터 사용 권장!

한 request에서 name과 keyword 파라미터를 모두 명시할 수도 있습니다. 이런 경우, 검색 요청이 백엔드로 보내지기 전에 두 파라미터가 조합됩니다. 검색 문자열은 하나가 되며, keyword 파라미터가 우선적으로 취급되어 다른 결과를 반환하게 됩니다.

js_keyword_cafe js_name_cafe

<Google Maps – JavaScript Places API에서 keyword: ‘cafe’, name: ‘cruise’를 사용한 경우(좌)와 그 반대의 경우(우)>

keyword와 name 파라미터는 분명 동일하게 쓰인다고 했는데… 조건을 반대로 준 경우 전혀 다른 결과가 반환되는 것을 볼 수 있습니다. 왜 그럴까요? 그에 대한 답은 구글에서 설명해 주었습니다!

keywordonly

비록 한 request에서 keyword와 name 파라미터가 같은 기능을 하지만, Places API documentation에서는 앞으로의 모든 request에서는 keyword만 사용하시는것을 권고하고 있습니다. 아직 name 파라미터를 없앨 계획은 없지만, keyword가 파라미터를 검색결과에 더 정확하게 반영하기 때문이라고 합니다.

이전에는 keyword와 name이 헷갈리셨을 수도 있지만, 앞으로는 복잡하게 고민할 필요 없이 keyword 파라미터만 사용하면 될 것 같습니다. 관련 문의사항은 SPH(help@sphinfo.co.kr)로 문의 주시기 바랍니다.