주소를 이용하여 좌표값 구하기 (addr2coord에서 addressSearch로 변경 문의)

(구)지도 JS API를 사용중일 때 아래와 같은 코드로 주소를 이용하여 위, 경도 좌표를 받아왔습니다.

var script = document.createElement('script');

s.type = 'text/javascript';
s.charset = 'utf-8';
// 기존의 다음 주소 -> 좌표
s.src = 'https://apis.daum.net/local/geo/addr2coord?apikey='+apikey+'&output=json&callback=searchA&q='+encodeURI('서울 중구 예관동 120-1');
// 변경할 카카오 주소 -> 좌표
s.src = 'https://dapi.kakao.com/v2/local/search/address.json?apikey='+apikey+'&callback=searchA&query='+encodeURI('서울 중구 예관동 120-1');

document.getElementsByTagName('head')[0].appendChild(s);

function searchA (z){
    alert("lat : " + z.channel.item[0].lat);
    alert("lng : " + z.channel.item[0].lng);

    alert("lat2 : " + z.documents.y);
    alert("lng2 : " + z.documents.x);
}

이번에 Kakao 인증 버전으로 이관하며 addr2coord 대신 addressSearch로 변경되었다고 하여 코드를 수정하려는데 rest api 문서 (https://developers.kakao.com/docs/restapi/local)를 보면 주소->좌표 변환은 address를 사용하라고 되어있습니다.

어떤것을 사용해야하며 s.src에 작성한것이 맞는것인지
헤더 작성과 결과값 예시를 하나만 작성해주시면 감사하겠습니다.

답변은 아래 링크로 대신합니다만,
기존 코드를 변경하셔야 합니다. jsonp는 이제 지원하지 않아요…

jQuery 라이브러리를 사용하지 않고 직접 네이티브 API로 구현하실 것이라면
XHR을 직접 다뤄야 할텐데 이게 좀 복잡시럽습니다. ㅠㅠ
jQuery를 쓰시길 추천드립니다.

1개의 좋아요

답변 감사합니다
ajax로 고치니 정상적으로 결과값까지 받아옵니다
혹시 키값을 헤더에 넣을때

var key = 'apikey';

headers : {'Authorization' : 'KakaoAK '+ key}, // error
headers : {'Authorization' : 'KakaoAK apikey'}, // success

이런식으로 error가 나는데 꼭 키값을 KakaoAK 뒤에 붙여서 넣어줘야하는건가요?

https://developers.kakao.com/docs/restapi/local

위 링크에 나와있는 curl 예제를 클라이언트에서 Ajax로 호출 하도록 변경만 한 것 뿐이고요.
예제에도 나와있듯, 호출 스펙은 ‘KakaoAK APPKEY’ 가 맞습니다. 이 포멧을 꼭 지켜주셔야 합니다.

만약 위에 상황처럼
자바스크립트에서 string concatenation한 경우에만 에러가 난다면
key 라는 변수에 할당된 값을 다시 살펴보셔야 할 거에요.

감사합니다.

역시 키값이 잘못넘어오고 있었어요.

덕분에 무사히 kakao로 전환시켰습니다!

1개의 좋아요