javascript로 T map API 잘아시는 분 계신가요?

javascript로 T map API 잘아시는 분 계신가요?

QA

javascript로 T map API 잘아시는 분 계신가요?

본문

안녕하세요? T Map api에 관한 정보가 SKplnet 개발자센터밖에 실제로 어떻게 활용해서 구현할지 막막합니다. 우연히 검색을 하다 한블로그에서 제가 구현하고 싶은 기능을 발견하였지만 부분 부분코딩이라 정확한 구현이 어려워 질문 남깁니다. 아래 사진과 같이 구현하고 싶은데 부분코딩이라도 남깁니다.


function getPOI(){
    tData = new Tmap.TData();
    tData.events.register("onComplete", tData,onCompleteLoadGetPOIDataFromSearch);
    tData.events.register("onProgress", tData, onProgressLoadPoiData);
    tData.events.register("onError", tData, onErrorLoadPoiData);
   
    var searchText = jQuery('#searchText').val();
    var encodingSearchText = encodeURIComponent(searchText);   
    if(searchText != ''){
    var options ={version:1}
    tData.getPOIDataFromSearch(encodingSearchText,options);
    jQuery('#searchResult').css("display","block");
    }else{
    alert('검색할 POI를 입력해주세요.');
    }
           
    function onCompleteLoadGetPOIDataFromSearch(){
        jQuery("#searchResult").html("");
        var size = new Tmap.Size(22,30);
        var offset = newTmap.Pixel(-(size.w/2), -size.h);
      if(jQuery(this.responseXML).find("searchPoiInfopoispoi").text() != ''){
        jQuery(this.responseXML).find("searchPoiInfopoispoi").each(function(){
        varname = jQuery(this).find("name").text();
                  var upperAddrName= jQuery(this).find("upperAddrName").text();
                  var middleAddrName= jQuery(this).find("middleAddrName").text();
                  var lowerAddrName= jQuery(this).find("lowerAddrName").text();
                  var upperBizName= jQuery(this).find("upperBizName").text();
                  var middleBizName= jQuery(this).find("middleBizName").text();
                  var lowerBizName= jQuery(this).find("lowerBizName").text();
                  var detailBizName= jQuery(this).find("detailBizName").text();
                  var coordX= jQuery(this).find("frontLon").text();
                  var coordY= jQuery(this).find("frontLat").text();
                  var trLonLat= get3857LonLat(coordX, coordY);
                  var nameArray= [];
                  nameArray= name.split("(");
                  if(name.length>20){
                             name= nameArray[0]+'<br/>('+nameArray[1];
                  }                                                              
if(jQuery(this).index() >= 10){
jQuery("#searchResult").append('<div><spanclass="num">'+(jQuery(this).index()+1)+'</span> <spanclass="imgSpan"><imgsrc="http://map.nate.com/img/contents/ico_spot.png"></span><spanclass="poiResultList"><ahref="javascript:selectPoi('+coordX+','+coordY+')"style="text-decoration:none; *margin-top:-10px;">'+name+'</a></span></div><br/><br/>');
var icon = new Tmap.IconHtml("<imgsrc=http://map.nate.com/img/contents/ico_spot.png/>", size, offset);
}else{
jQuery("#searchResult").append('<div><spanclass="num">'+(jQuery(this).index()+1)+'</span> <spanclass="imgSpan"><img src="img/ico_cg1_b_'+(jQuery(this).index()+1)+'.png"></span><spanclass="poiResultList"><ahref="javascript:selectPoi('+coordX+','+coordY+')"style="text-decoration:none;*margin-top:-10px;">'+name+'</a></span></div><br/><br/>');
var icon = newTmap.IconHtml("<imgsrc='img/ico_cg1_b_"+(jQuery(this).index()+1)+".png'/>",size, offset);
}
var label = new Tmap.Label(" 상호명 : "+ name + "<br/><br/> 주소 : " + upperAddrName + " " +middleAddrName + "" + lowerAddrName+"<br/><br/> 구분 : "+upperBizName + " > "+middleBizName + " > " + lowerBizName +" > " + detailBizName);
var marker = new Tmap.Markers(newTmap.LonLat(coordX, coordY), icon, label);            
                  markers.addMarker(marker);
                  marker.events.register('mouseover',marker, onMarkerOver);
                  marker.events.register('mouseout',marker, onMarkerOut);
       
                });
           
        if(jQuery(this.responseXML).find("error").text() != ''){
                             varerrorMessage= jQuery(this.responseXML).find("error message").text();
                             alert(errorMessage);
        }else{
                  alert('검색결과가없습니다.');
        }
        if(jQuery(this.responseXML).find("searchPoiInfopoispoi").text() != ''){
                  map.zoomToExtent(markers.getDataExtent());
        }else{
                  map.setCenter(newTmap.LonLat(14134074.680985, 4517814.0870894),15);
                  markers.clearMarkers();   
        }
}
    }
}
 


319ef7c309b3120d3e783b34bd406d86_1504977718_214.png


이 질문에 댓글 쓰기 :

답변을 작성하시기 전에 로그인 해주세요.
전체 10,628
QA 내용 검색

회원로그인

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