질문/조언질답게시판
Extra Form
PHP PHP 7.0
CMS Rhymix

이온디님의 Georo2 - 카카오지도 기반 게시판스킨에서 https://xetown.com/point_contents/1373126

 

{$oDocument->getExtraEidValue('address')[1] 에서
사용자 정의 이름이 'address' 고 형식이 '한국주소(zip)'형식인 경우

 

XE 같은 경우는 [1]이 간단주소만 가져우는데
라이믹스의 경우 [1]이 전체 주소의 두번째글자, 그러니까 우편번호 두번째 자리를 가져오네요.

 

[전체 주소]
13494 경기 성남시 분당구 판교역로 235 (경기 성남시 분당구 삼평동 681) (삼평동, 에이치스퀘어 엔동)
xe는 [1]이 "경기 성남시 분당구 판교역로 235"를 가져오는데
라이믹스는 [1]이 우편번호 두번째 숫자 "3"을 가져 옵니다.

 

제가 볼때는 XE의 규칙이 올바른 것 같은데...
이부분을 손볼려면 어디를 수정해야 할까요.

  • ?

    자답입니다.
    xe 1.11.6 의 classes/extravar/Extravar.class.php 을 참고해서

    304줄

    return removeHackTag($this->value);을

    return $this->_getTypeValue($this->type, $this->value);로 수정하니 되네요.

  • profile
    라이믹스는 getExtraEidValue 주소형식의 경우 배열이 아닌 |@|로 구분되어진 string으로 가져오더군요.

    저는 이렇게 처리하고 있습니다. 아래처럼 해보세요.

    //주소값 배열로 변경
    $address_array = explode('|@|',$oDocument->getExtraEidValue('address'));

    //키값을 0,1,2...로 대입해서 값을 출력해보세요. 번호를 넣다보면 원하는 값일 나올 것 같네요.
    $address_array[0]
    $address_array[1]
    $address_array[2]
    ...
  • profile ?
    // 주소로 좌표를 검색합니다
    {@ $address_array = explode('|@|',$oDocument->getExtraEidValue('address'));}
    geocoder.addressSearch('{$address_array[1]}', function(result, status) {

    이렇게 대입했는데 지도가 나타나질 않네요ㅠㅠ
  • ? profile
    우선 주소값을 가져와야하는데... 숫자를 대입해서 도로명주소 또는 지번주소인지 확인하시구요.
    아마도 지도좌표를 얻으려고 하는것 같은데...
    geocoder.addressSearch 함수는 어디에서 가져오는 것인가요? 카카오지도api도 아닌것 같네요.
  • profile ?

    0~5까지 넣어봐도 아무 작동을 안하네요.
    그리고 카카오지도api 맞습니다.
    http://apis.map.kakao.com/web/sample/addr2coord/

    근데 제가 만든 프로그램도 아닌데 이렇게 해도 되나 모르겠네요.
    제작하신 이온디님이 나서주면 좋은데...
    포기하자니 포인트 500이 아까워서^.^

     

    p.s 글 작성하고 다시 적용해 보니 잘 작동됩니다.

    이상하네요. 수십번을 했는데 안되었는데 갑자기 작동이 되네요^.^

    감사합니다.  

  • ? profile
    라이믹스는 한국주소의 경우 getExtraEidValue으로 아래와 같은 식으로 출력이 될겁니다.
    04524|@|서울 중구 세종대로 110|@|(서울 중구 태평로1가 31)|@|(태평로1가, 서울특별시청)
    explode는 특정값을 배열로 변경해주는 함수로, |@|으로 할경우
    $address_array[0] : 04524
    $address_array[1] : 서울 중구 세종대로 110(도로명 주소)
    1번 키값이 도로명 주소가 맞을거구요. 아래는 제테스트 사이트 계정에서 위와같이 적용해서 도로명주소를 출력한 것입니다.
    https://rhymix.zaggu.net/reg_shopintro/138