지도 다음api에서 카카오api로 바꾼후

안녕하세요 다음 지도 api키에서 카카오 지도 api키로 변경을 하였습니다.

그런 후 익스플로러 에서 지도 이동시 다음과 같은 에러가 뜹니다.
http://dapi.kakao.com/v2/local/geo/coord2address.json?x=129.03457188289445&y=36.32432141262168의 XMLHttpRequest에는 CORS(Cross Origin Resource Sharing)가 필요합니다.

크로스도메인 문제 인거 같은데 무엇이 문제인지요? 다음 지도 쓸땐 이런 오류가 안났던거 같은데요.;;

그리고 지도 APi 몇몇 함수들이 함수명도 바뀌고, 파라메터도 바뀌었던데요…
정확히 바뀐 내용을 알 수 있는 도큐먼트 혹시 있을까요?

감사합니다.

카카오 인증 버전의 SDK에서는
Services 라이브러리는
IE8 이상에서만 정상 동작합니다.


(구) API의 문서는

여기에 남아있습니다.

변경점은 아래와 같이 정리할 수 있습니다.

daum.maps.services 네임스페이스에 존재하는 선택 가능한 검색 옵션들이 몇가지 사라졌습니다.

daum.maps.services.ImageFilter
daum.maps.services.Format

이 두 가지는 이제 사용할 수 없습니다.

기존에 존재했던 아래 다섯 가지의 좌표계 변환은 이제 지원하지 않습니다.

daum.maps.services.Coords.KTM
daum.maps.services.Coords.UTM
daum.maps.services.Coords.BESSEL
daum.maps.services.Coords.WKTM
daum.maps.services.Coords.WUTM

모든 검색의 결과 콜백으로 받는 인자의 순서가 변경되었습니다.
이 변경사항은
Places의 keywordSearch, categorySearch
Geocoder의 addressSearch, coord2Address, coord2RegionCode, transCoord
모두에 해당됩니다.
키워드 검색을 예로 들면

var places = new daum.maps.services.Places();

// 기존에는 status가 첫 번째였습니다.
var callback = function(result, status) {
    if (status === daum.maps.services.Status.OK) {
        console.log(result);
    }
};

places.keywordSearch('판교 치킨', callback);

모든 검색의 응답 결과 포멧이 변경되었습니다.
응답 결과에 대한 내용은
https://developers.kakao.com/docs/restapi/local
이 문서를 참조해 주세요. [Response] 부분을 보시면 됩니다.

Geocoder의 함수가 변경되었습니다.

  • addr2coord => addressSearch

  • coord2addr => coord2Address
    같이 변경된 사항이 있는데
    기존에는 coord2addr(coord, callback) 으로 daum.maps.LatLng 객체를 첫 번째 파라메터로 받았지만
    변경 후에는 coord2Address(x, y, callback, options) 으로 x, y 따로 받게 되었습니다.
    이것은 options로 검색할 좌표계를 설정할 수 있는 기능이 추가되면서 불가피하게 변경하게 되었습니다.

  • coord2detailaddr 은 삭제
    대신 위에 변경되었다고 알려드린 coord2Address의 결과로 지번/도로명 모두를 얻을 수 있습니다.

  • coord2RegionCode 은 새로이 추가

  • transCoord는 parameter의 구성이 변경되었습니다.
    기존에는 transCoord(x, y, fromCoord, toCoord, callback)
    변경 후에는 transCoord(x, y, callback, options)
    새로운 transCoord는 기본으로 받는 파라메터가 사라진 대신 options으로 좌표계 변환 값들을 설정할 수 있습니다.

Pagination 객체는 기능 변경 없습니다.

1개의 좋아요

안녕하세요 답변 감사합니다.
http://dapi.kakao.com/v2/local/geo/coord2address.json?x=129.03457188289445&y=36.32432141262168의 XMLHttpRequest에는 CORS(Cross Origin Resource Sharing)가 필요합니다.
요 에러가 익스플로러 11에서 납니다.
지도를 표현 하는데는 별 이상 없어 보이는데 그냥 써도 되는지요?

오류라기 보다는 흐음… 애매하네요.

사실 저희가 제공하는 API는 CORS 허용 처리가 되어 있습니다.
그래서 저게 뜨지 않아야 맞는 것이긴 한데…
IE만의 CORS pass 조건을 불충족하여 메세지가 나타나는 것 같네요.

실제 Windows 10의 IE11에서는
해당 오류 코드는 더 이상 출력하지 않는다고 명세하고 있습니다. (SEC7118, SEC7119)
https://msdn.microsoft.com/ko-kr/library/dn423949(v=vs.85).aspx
이렇게 써 놓은거 보면
API를 제공하는 쪽의 서버 세팅만 제대로 되어 있다면
Windows 7,8의 IE11 에서의 이 메세지는 그리 의미가 없지 않을까 싶네요.

API 자체는 정상 동작하니
조금 신경 쓰이시더라도 그냥 무시하고 사용하셔도 괜찮을 것 같습니다.