그누보드 게시물 안에 네이버 지도 삽입 관련해서 질문드려요.

그누보드 게시물 안에 네이버 지도 삽입 관련해서 질문드려요.

QA

그누보드 게시물 안에 네이버 지도 삽입 관련해서 질문드려요.

답변 2

본문

네이버 블로그의 게시물을 파싱해와서 그누보드 게시물로 옮기는 중

네이버 지도는 iframe으로 이루어져서 제대로 파싱을 해올 수가 없는 것을 발견했습니다.

게시글에 iframe을 직접적으로 넣으면 안 된다고 알고 있는데

게시글 내에 네이버 지도가 삽입이 되어야 하는데

혹시 이 부분 관련해서 처리를 해보신 분이나 다른 고수분들의 조언 부탁드립니다.

이 질문에 댓글 쓰기 :

답변 2

https://developer.naver.com/openapi/register.nhn


우선 위 사이트에 가셔서 지도를 나타낼 사이트를 신청해서 Key를 받아야 합니다.

그런 후  아래 스크립을 저장한후 인클루트해서 사용 하세요.

좌표 알아내는 법은 내용에 있으니 잘 읽어 보시고, 받은 Key 값은 상단 5번째줄  붉은색으로 표시한 부분을 교체 하시면 됩니다. 좌표값은 링크 틀릭해서 알아내셔서 입력해주면 됩니다.






<!-- 네이버맵시작 -->
<script type="text/javascript">
try {document.execCommand('BackgroundImageCache', false, true);} catch(e) {}
</script>
<script type="text/javascript" src="http://map.naver.com/js/naverMap.naver?key=a899fb4f434e8a17b50c0c91f82c8ed0">
</script> 
<!-- 네이버맵 끝 -->
<div style="border:1px solid #ff0000; width:520px;">
<div id="map">
</div>
 <script type="text/javascript">
 
 /*
  * 지도API 2.0은 기존의 카텍 좌표 외에도 위경도 좌표를 지원합니다.
  * 위경도 좌표를 사용하기 위해서는 기존의 NPoint 클래스 대신 NLatLng 클래스를 사용해야 합니다.
  *
  * http://maps.naver.com/api/geocode.php 에서 "경기도성남시정자1동25-1"을 검색한 결과인
  * x : 321033, y : 529749
  * 를 예로 들어 설명해 보겠습니다.
  *
  * 편의를 위해 전역변수로 mapObj, tm128, latlng를 선언해 두었습니다.
  */
 var mapObj = new NMap(document.getElementById('map'),520,300);
 var tm128 = new NPoint(311941,554138);
 var latlng;
 
 /*
  * 경기도성남시정자1동25-1의 위치로 이동합니다. 레벨은 1로 지정하였습니다.
  * 인덱스맵과 확대/축소 컨트롤러를 등록하고 마우스 줌인/아웃을 활성화 하였습니다.
  */
 mapObj.setCenterAndZoom(tm128, 2);
 //mapObj.addControl(new NIndexMap());
 mapObj.addControl(new NZoomControl());
 mapObj.enableWheelZoom();
 
 /*좌표변환*/
 transFromTM128ToLatLng()
 /*이동*/
 moveLatLng();
 /*표시*/
 showMark();
 
 function transFromTM128ToLatLng() {
  latlng = mapObj.fromTM128ToLatLng(tm128);
 }
 
 /*
  * NPoint가 사용되는 곳이면 NLatLng을 대신해서 사용할 수 있습니다.
  */            
 function moveLatLng() {
  mapObj.setCenter(latlng);
 }
 
 /*
  * NMark도 마찬가지로 tm128 대신 위경도를 사용하여 아이콘을 표시하였습니다.
  */            
 function showMark() {
  var mark = new NMark(latlng, new NIcon('http://static.naver.com/maps/ic_spot.png',new NSize(52,41),new NSize(14,40)));
  mapObj.addOverlay(mark);
  var win = new NInfoWindow();
  win.set(latlng, "네이버약도API활용하기") ;
  //win.showWindow();
  mapObj.addOverlay(win);
 }
 /*
  * NLatLng에 위경도가 아닌 tm128 좌표를 넣게되면 예상치 못한 결과가 나오게 됩니다.
  * 카텍 좌표는 NPoint, 위경도 좌표는 NLatLng를 사용해야 함을 잊지마세요.
  * 그리고 NLatLng는 (lat, lng)를 아규먼트로 받습니다.
  * 위도(y), 경도(x)의 순으로 아규먼트를 넣어야 합니다. 이점도 주의하세요.
  */            
 function moveError() {
  var errPoint = new NLatLng(tm128.y, tm128.x);
  mapObj.setCenter(errPoint)
 }
 </script>
</div>
<!----------------------------컨텐츠끝--------------------------->

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 2,654
© SIRSOFT
현재 페이지 제일 처음으로