JaeSeoKim / react-kakao-maps-sdk

React components for using kakao map api
https://react-kakao-maps-sdk.jaeseokim.dev
MIT License
273 stars 30 forks source link

주소변환 객체 문의 #24

Closed PeterJSung closed 2 years ago

PeterJSung commented 2 years ago

안녕하세요. https://apis.map.kakao.com/web/sample/coord2addr/ 관련해서 찾아보고있는데 몇몇 API 는 사용불가인것으로 보입니다. 혹시 Geocoder 객체는 따로 정의가 되지않은것인가요??

JaeSeoKim commented 2 years ago

군입영을 6월 27일에 하여서 제대로 어떤 상황인지 확인하기가 어렵습니다. 햐당 라이브러리의 문제로 보이지는 않고 타입 정의에 대한 문제라면 https://github.com/JaeSeoKim/kakao.maps.d.ts 해당 타입정의 라이브러리에 기여 해주시거나 임시로 타입정의 하여 해결 하시면 될 것 같습니다.

cyberjam commented 2 years ago

@PeterJSung 이미 해결하셨을지 모르겠지만 남깁니다. 혹시 좌표를 주소로 변환하고 싶으신걸까요? 저 같은 경우 객체를 사용하지 않고 api에 request 보내서 받은 response를 사용합니다.

아래는 장소 -> 좌표로 변환할 때 request 보낸 제 코드입니다. 해당 카카오 api 공식 문서를 참고하였습니다.

async function getPlaces(place) {
  const { data } = await axios(
    `https://dapi.kakao.com/v2/local/search/keyword.json?query=${place}`,
    {
      method: 'GET',
      headers: {
        'Content-Type': 'application/json',
        Authorization: `KakaoAK ${process.env.KAKAO_API_KEY}`,
        Host: 'dapi.kakao.com',
      },
    },
  );
  return data.documents;
}

질문자께서는 카카오 api 공식문서에서 해당 부분을 참고하시면 좋겠습니다.

혹시 제가 질문의도를 잘 파악하였고 질문자께서는 답변이 해소되셨을까요? 또는 더 좋은 방법이 있을지 궁금합니다.

PeterJSung commented 2 years ago

@cyberjam 안녕하세요. 답변주셔서 감사합니다. 저와 비슷한 해결법을 찾으신거같네요. 저도 kakao api 에서 지원하는 다른 주소변환 API 를사용해 해결했습니다.

export const CONVERT_C2R_URL: string = 'https://dapi.kakao.com/v2/local/geo/coord2regioncode.json';

export const getC2RData = async (lat: number, lng: number): Promise<KakaoRegionAPIRes> => {
    const response = await restGet<{}, KakaoRegionAPIRes>(CONVERT_C2R_URL, {
        params: {
            x: lng,
            y: lat,
        },
        headers: {
            ...getKakaoAuthHeader,
        },
    });
    return response.data;
};

해결방법은 결국 외부 API 를 가지고 하였습니다. @JaeSeoKim 님 제가 현재 다른일을하고있어 시간이나면 기여하도록하겠습니다. 감사합니다.