카카오 지도에서 확장변수 한국주소 zip 출력하는법 문의드립니다.
CMS/프레임워크 | XE 1.x |
---|---|
개발 언어 | PHP 7.3 |
<div id="map" style="width:100%;height:350px;"></div> <script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=발급받은 APP KEY를 사용하세요&libraries=services"></script> <script> var mapContainer = document.getElementById('map'), // 지도를 표시할 div mapOption = { center: new kakao.maps.LatLng(33.450701, 126.570667), // 지도의 중심좌표 level: 3 // 지도의 확대 레벨 }; // 지도를 생성합니다 var map = new kakao.maps.Map(mapContainer, mapOption); // 주소-좌표 변환 객체를 생성합니다 var geocoder = new kakao.maps.services.Geocoder(); // 주소로 좌표를 검색합니다 geocoder.addressSearch('제주특별자치도 제주시 첨단로 242', function(result, status) { // 정상적으로 검색이 완료됐으면 if (status === kakao.maps.services.Status.OK) { var coords = new kakao.maps.LatLng(result[0].y, result[0].x); // 결과값으로 받은 위치를 마커로 표시합니다 var marker = new kakao.maps.Marker({ map: map, position: coords }); // 인포윈도우로 장소에 대한 설명을 표시합니다 var infowindow = new kakao.maps.InfoWindow({ content: '<div style="width:150px;text-align:center;padding:6px 0;">우리회사</div>' }); infowindow.open(map, marker); // 지도의 중심을 결과값으로 받은 위치로 이동시킵니다 map.setCenter(coords); } }); </script>
geocoder.addressSearch('주소', function(result, status) 의 주소 부분에서 확장변수로 받은 주소를 입력하고자합니다.
확장변수(eid address) 한국주소(zip)으로 입력받은 값을 출력하기위해 {$oDocument->getExtraEidValue('address')[1];}를 입력하면
우편번호 숫자의 일부만 나오게되고 간단주소가 출력이 안되는데 방법이 있을지 문의드립니다.
확장변수는 한줄 입력칸(text)으로 입력받을때는 {$oDocument->getExtraEidValue('address')} 으로 출력이됩니다만 글작성시 확장변수를 한국주소(zip)로 입력받기때문에 {$oDocument->getExtraEidValue('address')[1];} 같은 형식으로 해야할텐데 출력이 제대로 되지 않아서 문의드립니다.
사이트는 공개하지 못하는점 양해바랍니다.
추가로 필요한 정보가 있을경우 댓글 남겨드리면 답변드리겠습니다.
댓글 10
geocoder.addressSearch('제주특별자치도 제주시 첨단로 242', function(result, status) {
이부분이 관건인걸로 보이는데요, 제주특별자치도 제주시 첨단로 242 부분에 주소가 들어가면 됩니다.
참고로 템플릿 문법은 따옴표를 붙여주지 않으므로 {$var} 형태로 넣으면
geocoder.addressSearch(입력한 주소, function(result, status) {
위 코드처럼 되며 오동작할수 있습니다. 반드시 "{$var}" 혹은 '{$var}'로 사용해야
geocoder.addressSearch("입력한 주소", function(result, status) {
이렇게 이스케이프가 됩니다.
참고로 공지사항 2번에도 있습니다만... 정보를 꽁꽁 감추시면 아무도 명확한 답변을 드릴 수 없습니다.
사정상 주소 공개가 불가능한경우 https://xetown.com/request 제작의뢰를 활용할수 있습니다.
확장변수 한국지도(zip)의 값에서 우편번호를 제외한 기본 주소정보만 출력하려면 함수를 어떻게 입력해야할까요?
{$oDocument->getExtraEidValue('address')[1];}는 우편번호의 2번째 값을 출력합니다.
{$oDocument->getExtraEidValue('address')}만 입력하였을때는 우편번호부터 주소를 전체 다 출력합니다.
방법이 없는걸까요?
[2]는 3번째자리수를
[9]는 10번째자리수를 출력합니다.
사이트는 좀 깨지더라도..
{@
var_dump($oDocument->getExtraEidValue('address'));
exit();
}
이렇게 해두시면 html속이나 어딘가에 오브젝트가 뜨긴하거든요.
기왕이면 debugPrint이용하시는 방법을 활용해보시면 좋을 것 같습니다!
확인해보니 이렇게 들어있네요.(한전사장실은 임의로 넣은... 값입니다)
한국주소라면 우편번호 5자리는 고정일테니 앞 6글자를 제외하고, ( 기준으로 나머지를 나누면
서울 마포구 가양대로 114, 서울 마포구 상암동 442-3) 한전사장실 , 상암동, 한국전력공사) 이렇게 나눠질텐데 이중 첫번째 값만 사용하면 될것 같습니다.
네. 아닙니다.
단순 문자열을 배열처럼 사용하면 그냥 n번째 글자만 얻을수 있습니다.
$a = "abcde"; 일때 $a[1]은 두번째 글자인 b인 식입니다.
직접 해결해보겠습니다.^^
혹시 XE,라이믹스 공부해보고싶은데 자료나 사이트가 있을까요?