Daum MAP + RoadView (다음지도와 로드뷰) > 그누4 스킨

그누4 스킨

스킨의 저작권은 해당 스킨 제작자님께 있으며, 그누보드의 저작권과 다를 수 있습니다.
스킨 다운로드시 좋아요와 감사의 코멘트를 남기시면 제작자에게 큰 힘이됩니다. ^^y
그누보드와 관련이 있지만 스킨과 빌더가 아니면 플러그인 게시판에 올려주세요.

Daum MAP + RoadView (다음지도와 로드뷰) 정보

게시판 Daum MAP + RoadView (다음지도와 로드뷰)

첨부파일

road_map_euckr.zip (244.0K) 887회 다운로드 2010-04-29 19:07:18
road_map_utf8.zip (244.4K) 583회 다운로드 2010-04-29 19:07:18

본문

다음 OPEN API 지도와 로드뷰를 결합하였습니다.

지도스킨은 sztime님께서 올리신
http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=101135&sca=%B0%D4%BD%C3%C6%C7&page=4 를 참조하였습니다.

다음 지도키는 http://dna.daum.net/DNALatte/openapi/about 에서 발급받으세요.

다음 지도키를 입력하는 곳은

view.skin.php 123 라인, road_map.php 2 라인, 6라인에서 입력하세요.

좌측지도 크기는 view.skin.php 128 라인.
우측로드뷰 크기는 view.skin.php 136 라인에서 수정하시면 됩니다.

스크린샷 입력 예제 보시면 됩니다.

[추가]
관리자만 등록할려고 만든것이라서 비회원 스팸글 방지 입력 코드가 빠져 있습니다.
추천
42

댓글 전체

빌더 사용하신 분들이 특히 이런경우가 발생하실 수 있습니다.
IE7.0에서는 웹브라우저 하단에 자바스크립트오류라고 나오고요.
IE6.0에서는 "인터넷사이트를 열수가 없습니다. 작업이중단되었습니다"라고 경고메세지가 나오실겁니다.
이유는 IE 7.0 이하 에서만 발견 되는 오류 이며, 이 오류는 HTML TAG가 렌더링 되기 전에 스크립트가 appendChild 를 할 경우 발생합니다.
다음지도와 다음로드뷰를 호출하는 자바스크립트가 view.skin.php 파일 맨밑에 있는데요. 이런 문제가 발생하신 분들은 이 자바스크립트를 옮기셔서 다른 파일 밑으로 옮기시면 될걸로 추정됩니다.
IE에서만 발생하는 렌더링 오류때문이라고 합니다.
정확하게는 DOM 통해서 page가 dynamic하게 만들어질때, rendering 하는 timing이 문제가 되어 버그가 발생한다고 합니다.
해결 방법으로는 javascript 의 실행을 페이지 내의 tag들 보다 나중에 실행하도록 하는 것이라는 군요.
MSDN 팀에서 공식적으로 발표한 원인과 방법입니다.
오래전에 그누보드 관리자님께서도 이 문제에 대한것을 언급하셨습니다.
아래 주소 참조하세요.
http://sir.co.kr/bbs/board.php?bo_table=pl_dhtml_javascript&wr_id=694
UTF-8은 제대로 테스트 못해봤는데 정상적으로 보여지는 군요.
뷰페이지 하단의 다음개발자센타 이미지는 제가 임의로 삽입한 것으로 삭제하셔도 됩니다.
너무 좋은 스킨 감사합니다.
감사를 드리며 초보가 한말씀 올립니다. 오류가 나는 부분에 대해서 처음부터 그렇게 파일을 만들어 올려 주시면 좋겠습니다.
적용을 하려고 많은 노력을 기울였지만 포기하고 글을 올립니다.
수고하세요..
road_map.php 파일은 따로 삽입하실 필요 없습니다.
view_branch.skin.php 파일 11번째 라인에서 include 되었습니다.

주소를 입력했을때 그 주소값으로 네이버 지도서버에서 값을 가져와서 약간의
가공을 해서 좌표값을 구합니다.

네이버 서버로 지도값을 넘기는 첫번째 단계는
road_map.php 파일 9번째 라인에 있습니다.

// 쿼리 돌릴 주소
$address = $view[content];
$address = iconv("euc-kr","utf-8",$address);
$map_query = urlencode($address);

그리고 넘겨 받은 값을 가공해서 좌표를 구해지면 그 좌표값은
view.skin.php 파일 126번째 라인에서 입력이 되어집니다.

var m,tmpLat = <?=$map_y_point?>, tmpLng = <?=$map_x_point?>;
아 그렇구요.. 몇일째 시도중인데 안되네요.. 소스보기를 하니 좌표값이 안넘어가는것 같습니다...익스 파폭 스킨 그대로 올려도 안나오네요... 아무튼 감사합니다.더 찾아보겠습니다
아무리해도 좌표값이 넘어오질 않네요... 제 다른 계정에 올려서 테스트 해도 안됩니다...
중간 중간 값들을  echo문으로 확인해 보는데 특수문자등으로 나타나고 최종 좌표값이 안나옵니다.

혹시xml파싱할때가 문제인가 봐도 모르겠고.
이상황에서 xml파싱한 결과값을 보려면 어떻게 해야하는지 아시는분..
road_map.php 파일에서 60번째 라인에다가

echo $mapbody; exit;

입력해놓고 XML 파싱된 값을 확인해 보면 글자가 깨져서 보이는 것이 다음 로드맵에서 리턴된 값이 UTF-8 이라서 현재 사용하고 계신 곳은 아마도 EUC-KR 일겁니다. 글자가 깨져서 리턴된다고 해도 좌표값만 리턴된 값 중에서 맨끝에 있는 좌표값만 필요한 거라서.

제 UTF-8 계정에서 echo $mapbody; 로 값을 체크해보면 아래와 같은 값이 ECHO됩니다.

<channel><title>Search address Daum Open API</title><desc>Daum Open API search result</desc><totalCount>2</totalCount><result>10</result><q>서울시 송파구 풍납동 390</q><pageno>1</pageno><item><id>J981016</id><title>서울 송파구 풍납동 390-0[아산병원길 22]</title><mountain></mountain><localName_1>서울</localName_1><localName_2>송파구</localName_2><localName_3>풍납동</localName_3><mainAddress>390</mainAddress><subAddress>0</subAddress><buildingAddress></buildingAddress><isNewAddress>N</isNewAddress><newAddress>아산병원길 22</newAddress><lng>127.11641788083085</lng><lat>37.52536337573928</lat></item><item><id>J981017</id><title>서울 송파구 풍납동 390-1</title><mountain></mountain><localName_1>서울</localName_1><localName_2>송파구</localName_2><localName_3>풍납동</localName_3><mainAddress>390</mainAddress><subAddress>1</subAddress><buildingAddress></buildingAddress><isNewAddress>N</isNewAddress><newAddress></newAddress><lng>127.11726425272366</lng><lat>37.52548148063356</lat></item></channel>

입력하신 주소가 다음의 지도 사이트에서 정상적으로 지도가 보여지는지 또는 로드뷰가 존재하는지 먼저 확인해보셨나요?

확인하는 주소는 http://local.daum.net/map/index.jsp 입니다.
아..덕분에 감사합니다 해결됐습니다.
주소가 잘못 입력될 경우 안되네요.
글보고 여러가지 체크하니 제가 입력한 주소가 잘못되있었습니다.
혹시나 하고 서울시 송파구 풍남동 390 이라고 해놓으니..ㅡ.ㅡ;;;
풍납동으로 바꾸니까 잘나오네요...감사합니다..

실수는 작은곳에서 시작하네요..
위의 댓글에서도 적어 놓았듯이 빌더사용하는 분들의 해결 방법으로는 javascript 의 실행을 페이지 내의 다른 태그들 보다 나중에 실행하도록 하는 하면 될것으로 추정됩니다. 제가 빌더를 사용하지 않아서 테스트 해보지는 않았지만, 빌더 사용하시는 분들이 적용한것을 보니 그렇게들 하셨더라구요.

view.skin.php 파일 122 라인 부터 211 라인까지가 로드뷰를 구성하는 스크립트인데,
이것을 빌더에서 맨 마지막에 호출되는 파일에 넣으시면 될것으로 추정됩니다.
상업적인 사이트에서 노출을 해도 됩니다. 다만, 지도를 보는 댓가로 금액을 과금하면 안되구요. 제가 네이버 지도 API 또는 다음 지도 API를 활용해서 전국매장안내 또는 오시는길 등등으로 납품한 사이트가 대략 500개정도 됩니다. 아마 다른 개발자 분들도 저와 비슷하실텐데요.
Daum MAP 은 정상적으로 보이나
RoadView의 경우 보였다 않보였다 하네요.
해당 페이지를 리플래쉬 하면 다시 보이는 경우도 있고요
참고로 익스 6.0 입니다.

참고로 올려주신 샘플사이트
http://www.adma.kr/korea/board.php?bo_table=reference
의 경우도 로드뷰가 않보이는 경우가 있습니다.
해결방법이 .... ㅡ,ㅜ
배추빌더에 적용할려면 어찌해야하는지...ㅠㅠ
아시는분 메일좀...*** 개인정보보호를 위한 이메일주소 노출방지 *** 보내주시면 감사하겠습니다~
지도출력부터 딱 걸려버리네요..ㅠㅠ
빌더를 사용하지 않았는데 불구하고 게시판에 스킨 선택하면 안보이고 html이나 php로 만들어 테스트 하면 보이네요...ㅠㅠ 스크립트만 tail_map.php로 만들어도 마찬가지입니다. 도와주세요ㅠㅠ
좋은 스킨 감사히 잘 받았습니다.
혹시 일반지도와 로드뷰 초기 zoom 설정을 조절 할 수 있을까요?
현재 소스에는 없는것 같아서 질문 드립니다.
날씨가 차네요. 감기 조심하세요.
너무너무 좋은 스킨인데요..설치했더니 주황색 화면만 나오네요..ㅠㅠ
제가 초보라서..어케 설치하는 방버을 좀 자세히 설명해주심 안될까요^^;
한글도메인은 적용이 안되나요? (ex : 가나다라.com)
다음에서 키값은 얻었는데 적용을 시켜보니 "API Load Failure : Invalid Referer. Please check URL  that you have registered." 이렇게 나옵니다. 아시는 분 답 좀 주세요..ㅜㅜ
빌더사용자분들은 게시판 설정에서 <하단 파일 경로> 에 연결되는 _tail.php 파일을 수정하시면 됩니다. 다른 게시판에는 영향 안받도록 예를 들어 _tail_map.php 파일로 만들고 그 파일에
tail_map.php 인쿠르드 하시면 될듯.
저도 초보지만 전 이렇게 했어요
전체 5,853 |RSS
그누4 스킨 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT