주소내 하이픈표시일경우 마커표시관련

안녕하세요.
카카오 지도 api를 이용해 마커표시를 하도록 프로그램진행 중인데요.

상세주소를 입력시에 하이픈을 넣게 되면 마커 생성이 안되는것인지 문의드립니다.

예) 서울 강남구 강남대로94길 51-14 (역삼동, 프리우스역삼아파트) 305-1704

위 예시처럼 상세주소부분에 하이픈을 넣게 되면 마커표시가 안되지만 305동 1704호 등록하면 마커가 생성됩니다.

제가 잘못하고 있는것인지 모르겠으나 원인이 무엇인지 문의드립니다.

image
위 화면은 개발자사이트의 마커와 인포윈도우 관련 샘플에서 내용만 약간 수정한 것입니다.

어떻게 구현을 했는지에 따라 다를 것 같은데요.
크롬이나 Edge, 사파리와 같은 브라우저에는 개발자도구가 내장되어 있습니다.
개발자도구에서 어떤 오류가 뜨는지, 확인해 보세요.

하이픈을 일반 문자가 아닌 브라우저가 해석이 가능한 특수한 태그로 인식을 하는 것일 수도 있는데,
일단 개발자도구를 통해서 오류메세지가 뜨는지 확인 부탁드립니다.

1개의 좋아요

답변감사합니다.

크롬브라우저로 확인을 하고있구요.
개발자도구 열었을때

sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:4 [Violation] Avoid using document.write(). https://developers.google.com/web/updates/2016/08/removing-document-write
(anonymous) @ sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:4
(anonymous) @ sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:4
(anonymous) @ sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:5
sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:4 [Violation] Parser was blocked due to document.write()
(anonymous) @ sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:4
(anonymous) @ sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:4
(anonymous) @ sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:5
sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:4 A parser-blocking, cross site (i.e. different eTLD+1) script, http://t1.daumcdn.net/mapjsapi/js/main/4.3.6/kakao.js, is invoked via document.write. The network request for this script MAY be blocked by the browser in this or a future page load due to poor network connectivity. If blocked in this page load, it will be confirmed in a subsequent console message. See https://www.chromestatus.com/feature/5718547946799104 for more details.
(anonymous) @ sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:4
(anonymous) @ sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:4
(anonymous) @ sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:5
sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:4 [Violation] Parser was blocked due to document.write()
(anonymous) @ sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:4
(anonymous) @ sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:4
(anonymous) @ sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:5
sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:4 A parser-blocking, cross site (i.e. different eTLD+1) script, http://t1.daumcdn.net/mapjsapi/js/main/4.3.6/kakao.js, is invoked via document.write. The network request for this script MAY be blocked by the browser in this or a future page load due to poor network connectivity. If blocked in this page load, it will be confirmed in a subsequent console message. See https://www.chromestatus.com/feature/5718547946799104 for more details.
(anonymous) @ sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:4
(anonymous) @ sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:4
(anonymous) @ sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:5
sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:4 [Violation] Avoid using document.write(). https://developers.google.com/web/updates/2016/08/removing-document-write
(anonymous) @ sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:4
(anonymous) @ sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:4
(anonymous) @ sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:5
sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:4 [Violation] Parser was blocked due to document.write()
(anonymous) @ sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:4
(anonymous) @ sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:4
(anonymous) @ sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:5
sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:4 A parser-blocking, cross site (i.e. different eTLD+1) script, http://t1.daumcdn.net/mapjsapi/js/libs/services/1.0.2/services.js, is invoked via document.write. The network request for this script MAY be blocked by the browser in this or a future page load due to poor network connectivity. If blocked in this page load, it will be confirmed in a subsequent console message. See https://www.chromestatus.com/feature/5718547946799104 for more details.
(anonymous) @ sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:4
(anonymous) @ sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:4
(anonymous) @ sdk.js?appkey=da9369bc0cded5a795420b1c869947e2&libraries=services:5
5[Violation] Added non-passive event listener to a scroll-blocking event. Consider marking event handler as ‘passive’ to make the page more responsive. See
kakao.js:6 [Violation] Added non-passive event listener to a scroll-blocking ‘mousewheel’ event. Consider marking event handler as ‘passive’ to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952
k @ kakao.js:6
xe @ kakao.js:38
h @ kakao.js:44
(anonymous) @ board.php?bd_id=store&:203
fire @ jquery-1.12.4.js?ver=1627542370:3232
fireWith @ jquery-1.12.4.js?ver=1627542370:3362
ready @ jquery-1.12.4.js?ver=1627542370:3582
completed @ jquery-1.12.4.js?ver=1627542370:3617
kakao.js:6 [Violation] Added non-passive event listener to a scroll-blocking ‘wheel’ event. Consider marking event handler as ‘passive’ to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952
k @ kakao.js:6
xe @ kakao.js:38
h @ kakao.js:44
(anonymous) @ board.php?bd_id=store&:203
fire @ jquery-1.12.4.js?ver=1627542370:3232
fireWith @ jquery-1.12.4.js?ver=1627542370:3362
ready @ jquery-1.12.4.js?ver=1627542370:3582
completed @ jquery-1.12.4.js?ver=1627542370:3617
kakao.js:6 [Violation] Added non-passive event listener to a scroll-blocking ‘touchstart’ event. Consider marking event handler as ‘passive’ to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952
k @ kakao.js:6
(anonymous) @ kakao.js:148
m @ kakao.js:2
c.M @ kakao.js:148
w @ kakao.js:30
(anonymous) @ board.php?bd_id=store&:231
(anonymous) @ services.js:6
oncomplete @ services.js:6
a.onreadystatechange @ services.js:5
kakao.js:6 [Violation] Added non-passive event listener to a scroll-blocking ‘mousewheel’ event. Consider marking event handler as ‘passive’ to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952
k @ kakao.js:6
(anonymous) @ kakao.js:148
m @ kakao.js:2
c.M @ kakao.js:148
w @ kakao.js:30
(anonymous) @ board.php?bd_id=store&:231
(anonymous) @ services.js:6
oncomplete @ services.js:6
a.onreadystatechange @ services.js:5
kakao.js:6 [Violation] Added non-passive event listener to a scroll-blocking ‘wheel’ event. Consider marking event handler as ‘passive’ to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952

위와같은 에러가 나옵니다. 그외 특별한 에러는 나오지 않고있습니다.

추가적으로 말씀드리면
https://apis.map.kakao.com/web/sample/addr2coord/
위 주소에서 샘플로 테스트를 해도 같은현상이네요.

아. 주소검색을 말씀하신 것이였군요?

네 개발자도구를 이용하신다면, 네트워크 탭에서 데이터를 확인 가능하십니다.

주소검색의 경우,
도로명주소는 도로명 + 도로번호 와 같은 형식 (강남대로94길 51-14, 한남대로 98 …등)
지번주소는 지번 + 본번 부번 과 같은 형식(한남동 714, 백현동 564-4 … 등) 을 말합니다

말씀하신 XX동 XX호의 경우엔 일반적으로 주소검색 API에서 제공하지 못하는 데이터 입니다.
왜냐 새우편번호인 기초구역번호와 같은 데이터가 XX동 XX호까지 커버를 하는 데이터가 아니거든요.

추가로 "305-1704"와 같은 형식으로 뒤에 숫자를 입력할 경우,
검색엔진이 내부에서 해당 숫자가 어떤 부분인지 확인하게 되는데
올려주신 주소의 "51-14"와 패턴이 비슷하죠?
즉 도로명 주소의 건물번호 패턴으로 해석할 여지가 있습니다.
실제 이렇게 해석이 된듯하고, 그래서 검색결과가 없어서 마커가 표시가 안된 것입니다.

이외 XX호 XX동으로 입력하면, 호과 동 정보는 주소검색시 유효한 정보가 아니기에, 제외시킵니다.
그럼 명확히 “강남대로94길 51-14” 의 정보만 이용해서 검색이 될 수 있기에, 데이터가 나오게 되고,
그럼 마커가 찍히게 되죠.

한번 확인해 보세요.

빠른답변감사합니다.

제가 말씀드리는것은 아파트의 동 호수를 하이픈으로 처리했을때 입니다.
당연히 동, 호수를 넣지않고 도로번호 및 건물번호로 하면 마커가 표시 됩니다.

OO 아파트 305-1704 마커 미표시
OO 아파트 305동 1704 마커표시됨

위에 맨처음 답변주신내용에 305-1702는 305동 1702호 인듯한데. 마커가 표시되는군요.

제가 답변주신내용을 이해를 못하는건지,잘모르겠네요^^

네 맨 처음 답변 드린것은 제가 주소검색인지 모르고 그냥 인포윈도우에 하이픈이 안들어가나 싶어서 제가 강제로 넣은것이구요.

두번째 질문 주실때 주소검색이구나를 알게되서;
주소검색의 패턴에 대해서 설명한게 두번째 답변입니다.

제 댓글 다시 봐보시면 아실 수 있습니다. 검색엔진이 질의어의 문자와 숫자로 주소의 각 형태별로 분리하여 판단을 하게 되는데
305-1704를 잘 보면 도로명주소의 건물번호인 51-14와 비슷하다고 말씀드린 것입니다.
그래서 건물번호로 해석하고 검색을 하면 당연히 매칭되는 건물이 없으니 안나오는 것이죠.

반대로 305동 1704호 로 하면 명확히 무슨동 무슨호로 나오기에, 이건 상세주소구나 하고 제외시켜버리고, 앞부분의 도로명주소영역 부분만 가져다가 검색하니 나오는 것이구요.

즉, 이건 마커가 나오냐 안나오냐의 문제가 아니라,
검색API의 검색엔진을 통해서 결과가 나오냐 안나오냐의 차이라는 것일뿐이에요.

그럼 현재로써는 마커가 표시되게 할려면 검색이 가능하도록 질의어를 수정하는 방법이 최선입니다.

이외 공식CS창구(고객센터)를 통해서 해당 검색엔진의 검색어의 패턴을 좀 다양하게 해달라고 CS를 넣어보시는게 좋을 것도 같습니다. 수정이 될지, 가능할지의 여부까진 확답드리진 못합니다.

1개의 좋아요

친절한 답변감사드립니다.^^