XE Tips 는 제가 XE 공홈에 쓴 XE 관련 유용한 팁들입니다. 기능개선은 공홈에 안 적어둔 XE 유용 개선팁들입니다.
유용정보는 외부 검색을 통해 알아낸 소스등을 기재해둔 곳입니다.
버그 신고내역들은 XE 사용하다가 발견한 버그 패치방법들로, Core Issue 에 기록해뒀기에 XE 에 적용이 되었을 가능성이 있겠죠
제가 쓴 글들에 대해 퍼가실때는 꼭 출처를남겨주시고.. (다만 플래시뷰 기반이기에 퍼가기는조금 힘들 수 있겠죠 ^^;)
타회원의 글들도 적혀있는 출처를 같이 꼭 기재해주세요
[유용정보] 구글지도 사용시, Oops! Something went wrong. This page didn't load Google Maps correctly. See the JavaScript console 에러가 뜨는 경우
출처 | sejin7940 |
---|
멀쩡하게 쓰던 구글지도 API 가 갑자기 작동을 안 했다.
지도는 잠깐 나왔으나 1초 정도 지나자 바로 사이트가
You have exceeded your rate-limit for this API. 라는 에러 메세지가 갑자기 나타나면서
Oops! Something went wrong. This page didn't load Google Maps correctly. See the JavaScript console
라는 메세지가 뜨면서 사이트가 닫힌다.
정확하게 뭐가 원인인지는 에러메세지가 나타나지 않는다.
이 정확한 에러 메세지를 보고 싶으시면
브라우저의 요소검사 등으로 확인해보니, 구글API 에서 에러 원인을 알려준다.
보통 많이 나오는 에러는 두가지이다.
하나는 'RefererNotAllowedMapError' 이다.
이건 해당 API 에서, 키 제한사항을 설정했을 경우이다. ( 보통은 혹시나의 상황을 대비해 제한사항을 걸어두길 권한다 )
( API 관리자에서, 사용자 인증정보 에서 자기가 설정한 API 정보를 보면 된다 )
XE는 웹상에서의 서비스니, 'HTTP 리퍼러 (웹사이트)' 에 체크하고, 도메인주소/* 이렇게 설정해두면 된다.
그냥 적기만 하면 안 되고 반드시 저장을 해주자. 그리고 실제 반영되는데 몇분 걸리니 천천히 기다려주면 이 에러는 해결된다.
( 도메인을 변경하거나하면 꼭 사용자 인증정보에서 변경을 해줘야한다 )
여기까지는 보통 문제가 없는데...
의외로 알 수 없는 에러가 나오는 부분은.. 'You have exceeded your rate-limit for this API.' 이 부분이다
( 이것도 에러 화면은 똑같이 'Oops! Something went wrong. This page didn't load Google Maps correctly. See the JavaScript console' 이렇게 나온다. 요소검사로 확인해보면 실제 에러 내용이 'You have exceeded your rate-limit for this API.' 이렇게 나올때이다 )
구글지도 정책이 바뀌어서 2016년6월 이후로는 반드시 API Key 를 받아야만 지도 사용이 가능하다 ( 무분별한 지도 사용을 막기 위해서이다 )
6월 이후의 사이트라면 당연히 이런 문제가 없을거다. ( 아예 지도가 작동을 안 했을테니 )
( 참고로 네이버 지도는 기존의 API 방식을 버리고 Client ID / Secret 방식으로 변경되면서 2016년 12월 26일부로 기존 API 는 서비스 종료가 된다. )
도대체 뭐가 문제인지 정말 이틀 내내 검색했다. 아무리 구글링해도, 이유는 대부분 API Key 가 없어서라는 답변 뿐이다. ㅡㅡ;;
원인은.. 해당 API 의 할당량 문제이다. ( 전에는 이게 문제를 안 일으켰는데, 갑자기 왜 문제가 되는지는 이해가 안 되지만.. )
구글 지도API 가 과다 사용자에게 유료로 정책을 바꾸면서 기본할당량까지는 무료이고 그 이상은 유료서비스를 써야한다
그런데, 거의 쓴 적이 없는 ( 즉, 당연히 기본할당량 으로도 충분한 경우인데도 )
계속 'You have exceeded your rate-limit for this API' 에러가 뜨는 경우가 있다.
지도 할당량 화면은...
API 관리자 대시보드 화면에서 'https://console.developers.google.com/apis/dashboard'
Google Maps JavaScript API 를 클릭하면, 해당 API 사용내역이 나오는데 여기서 '할당량' 을 눌러주면 나온다.
할당량 설정 끝에 가보면
Map loads per day
Map loads per 100 seconds
Map loads per 100 seconds per user
이렇게 3개의 값이 있다
Map loads per day 는 하루에 지도 호출 가능횟수 제한으로 기본이 25,000 ( 무료는 최대 25,000 )
Map loads per 100 seconds 는 100초내에 호출할 수 있는 최대 지도 호출허용수로 제한이 없다. 제한을 할 수도 무제한을 할 수도 있다. ( 기본은 무제한 )
Map loads per 100 seconds per user 는 한 유저당 100초에 호출할 수 있는 최대 지도 호출허용수 로 1~100 까지만 허용을 한다.
문제는 Map loads per 100 seconds per user 이 값의 기본설정값이다.
타 사이트 제작시 다시 설정해보고 확인을 해봐야겠지만..
갑자기 이 에러가 발생해 날 2일간 내내 무의미한 구글링을 하게 만든 사이트의 경우..
Map loads per 100 seconds per user 값 설정이 아예 없었다. 0 으로 인식하고 있었던거다
그러다보니 지도가 뜨자마자 바로 사용초과가 뜨면서 에러가 발생을 계속 하는거였다 ㅡㅡ;;
( 설정이 바뀐건지, 구글이 변한건지... 갑자기 엄격해진건지 ㅡㅡ; 멀쩡하던 지도가 갑자기 맛이 가버리니.. )
Map loads per 100 seconds per user 를 100 으로 올려주니 그 후 아무 문제가 발생하지 않았다
정말 한참을 구글링해서 원인을 찾느라 난리였는데, 이유는 허무할정도다.. ㅡㅡ;; ( 처음부터 안 되었으면 말도 안 하지.. 멀쩡하던게 갑자기 저러니 )
암튼, 동일한 에러를 겪는 경우, 확인해보길....