var resize_timer; var call_timer; var map,lat,lng; var domain; var sido_markers = []; var gugun_markers = []; var dong_markers = []; var markers = []; var smarkers = []; var apts = []; var cluster_color = "rgba(250,150,90)"; var list_title = ""; var sell_price = [0,100,200,300,400,500,1000,1500,2000,2500,3000,3500,4000,4500,5000,5500,6000,6500,7000,8000,9000,10000,11000,12000,13000,14000,15000,16000,17000,18000,19000,20000,25000,30000,35000,40000,45000,50000,55000,60000,65000,70000,75000,80000,85000,90000,95000,100000,110000,120000,130000,140000,150000]; var sell_price_max = 150000; var deposit_price = [0,1000,2000,3000,5000,10000,20000,30000]; var deposit_price_max = 30000; var rent_price = [0,10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,250,300,350,400,450,500]; var rent_price_max = 500; var area = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]; var area_max = 40; var area_total = [0,50,100,200,300,400,500,600,700,800,900,1000]; var area_total_max = 1000; var area_land = [0,50,100,200,300,400,500,600,700,800,900,1000]; var area_land_max = 1000; var bounds; var list_circle; var local = []; /* 주변정보 보여주는 마커 */ var level; var infowindow; $( window ).resize(function() { clearTimeout(resize_timer); resize_timer = setTimeout(mapsize_init, 200); }); $(document).ready(function(){ lat = $("#form input[name='lat']").val(); lng = $("#form input[name='lng']").val(); level = $("#form input[name='level']").val(); domain = $("#form input[name='domain']").val(); mapsize_init(); var mapContainer = document.getElementById('map'), mapOption; try { if(lat=="" && lng==""){ mapOption = { center: new kakao.maps.LatLng(37.498746, 127.03663), level: 7 }; } else { mapOption = { center: new kakao.maps.LatLng(lat, lng), level: level }; } map = new kakao.maps.Map(mapContainer, mapOption); daum.maps.event.addListener(map, 'idle', mapdraw_event); /*줌 레벨이 설정된 이상으로는 확대되지 않도록 하는 기능*/ kakao.maps.event.addListener(map, 'zoom_changed', function() { level = map.getLevel(); $("#form input[name='level']").val(level); if(level<4){ //alarm("지도 확대 제한","더 이상 지도가 확대되지 않습니다."); $('.toastMap').stop().fadeIn(400).delay(3000).fadeOut(400); zoomOut(); } }); infowindow = new kakao.maps.InfoWindow({zIndex:1}); } catch (e) { if(confirm("지도키 설정에 문제가 있습니다. 매뉴얼로 이동하시겠습니까?")){ location.href="https://imreal.kr/manuals/view/homepage/10024"; } } mapdraw_event(); $("#form").change(function(){ mapdraw_event(); }); $('.dropdown-menu').click(function(e) { e.stopPropagation(); }); init_rangeslider(); /*********************************************** * 초기화 버튼 실행 ***********************************************/ $(".btn-init").click(function(){ $(this).parent().parent().parent().find("input:checkbox").each(function(){ $(this).prop("checked", false); }); $(this).parent().parent().parent().find("input:radio").each(function(){ $(this).prop("checked", false); }); $(this).parent().parent().parent().find("select").each(function(){ $(this).val(""); }); mapdraw_event(); }); /* 가격만 초기화 하는 버튼은 없다. */ $(".btn-init-price").click(function(){ sell_price_range.reset(); deposit_price_range.reset(); rent_price_range.reset(); mapdraw_event(); }); $(".btn-init-area").click(function(){ if($("#area").length>0) area_range.reset(); if($("#area_total").length>0) area_total_range.reset(); if($("#area_land").length>0) area_land_range.reset(); mapdraw_event(); }); $(".btn-init-option").click(function(){ $("#form").find("select").each(function(){ $(this).val(""); }); mapdraw_event(); }); $("#sorting").change(function(){ mapdraw_event(); }); if($("#keyword").length > 0){ $("#keyword").autocomplete({ selectFirst: false, autoFill: false, autoFocus: false, focus: function(event,ui){ return false; }, delay: 0, scrollHeight:40, minLength:2, select: function(a,b){ $("#lat").val(b.item.lat); $("#lng").val(b.item.lng); move_map(b.item.lat,b.item.lng,4); $("#mobile-search-section").removeClass("on"); a.stopPropagation(); return false; }, source: function(request, response){ totalSearch(lat,lng, response); }, }).data("ui-autocomplete")._renderItem = autoCompleteRenderSearch; } }); function totalSearch(lat,lng, response){ //숫자일 경우에는 매물검색으로 인식해서 해당 매물번호로 이동되므로 아무 것도 하지 않는다. if($.isNumeric($("#search").val())){ return; } else { $.ajax({ url: "/property/address", type: "POST", data: { keyword : $("#keyword").val(), }, dataType: "json", success: function(data) { if(data!=""){ response( $.map( data, function( item ) { return { id: item.id, title: item.title, type: item.type, lat: item.lat, lng: item.lng }; })); } } }); } } function autoCompleteRenderSearch(ul, item) { return $("
  • ").data("item.autocomplete", item).append(' '+item.title).appendTo(ul); } function mapsize_init(cnt){ var all_size = $(window).height(); var top_size = $(".header2").outerHeight()+$(".top-header").outerHeight()+$(".main-header").outerHeight()+$(".band-wrapper").outerHeight(); $("#map").height(all_size-top_size); $("#map_list").height(all_size-top_size); //$("#property_list").height(all_size-top_size-$(".title-area").outerHeight()); if(cnt>0) mapdraw(); //else map.relayout(); $("#mobile-list-btn").click(function(){ $("#map_list").toggleClass("on"); }); $("#mobile-list-btn").on("touchstart",function(e){ if( $("#map_list").hasClass("half") ) { $("#map_list").removeClass("half"); $("#map_list").addClass("on"); e.preventDefault(); } else if( $("#map_list").hasClass("on") ) { $("#map_list").removeClass("on"); e.preventDefault(); } else { $("#map_list").addClass("on"); e.preventDefault(); } }); } function mapdraw_event(){ clearTimeout(call_timer); call_timer = setTimeout(mapdraw, 200); } function mapdraw(){ var center = map.getCenter(); var url = domain + 'lat='+center.getLat()+'&lng='+center.getLng()+'&level='+level; history.replaceState('', '제목', url); list_title = ""; close_apt(); get_map_data(); /* 지도 매물 마커(시,군,동,지하철 ...) */ get_map_list(0); /* 지도 매물 리스트 */ filter_title(); /* 검색버튼 타이틀 수정 */ } /** * 지도 데이터 가져오기 */ function get_map_data(){ var formData = $("#form").serialize(); formData+='&swlat='+map.getBounds().getSouthWest().getLat(); formData+='&nelat='+map.getBounds().getNorthEast().getLat(); formData+='&swlng='+map.getBounds().getSouthWest().getLng(); formData+='&nelng='+map.getBounds().getNorthEast().getLng(); $.ajax({ type: 'POST', url: "/property/ajax_map", data: formData, dataType: 'json', success: function(jsonData){ remove_data(); $.each(jsonData, function(key, val) { if(key=="marker"){ draw_marker(val); //매물숫자 클러스터 } else if(key=="sido"){ draw_sido(val); //시 클러스터 } else if(key=="gugun"){ draw_gugun(val); //구 클러스터 } else if(key=="dong"){ draw_dong(val); //동 클러스터 } else if(key=="apt") { draw_apt(val); //매물단지 아이콘 } else if(key=="subway"){ //get_subway_cluster_map(val); get_subway_map(val); } }); } }); } function get_map_list(page){ var total = 0; var formData = $("#form").serialize(); formData+='&swlat='+map.getBounds().getSouthWest().getLat(); formData+='&nelat='+map.getBounds().getNorthEast().getLat(); formData+='&swlng='+map.getBounds().getSouthWest().getLng(); formData+='&nelng='+map.getBounds().getNorthEast().getLng(); formData+='&sorting='+$("#sorting").val(); formData+='&method=map'; $.ajax({ type : "POST", url : "/property/ajax_grid/"+page, data : formData, dataType: 'json', success: function(data) { $.each(data, function(key, val) { if(key=="result") { $("#property_list").html(val); } if(key=="pagination") { $("#pagination").html(val); get_map_list_paging(); } if(key=="total"){ total = val; $("#map_label").html("" + total + "개"); } }); $("#property_list").animate({ scrollTop: 0 }, 600); $("#property_list a").hover(function(){ if($(this).data("a")!=""){ var a = $(this).data("a")/$(this).data("id"); var b = $(this).data("b")/$(this).data("id"); list_circle = new kakao.maps.Circle({ center : new kakao.maps.LatLng(a,b), // 원의 중심좌표 입니다 radius: 30, // 미터 단위의 원의 반지름입니다 strokeWeight: 2, // 선의 두께입니다 strokeColor: '#75B8FA', // 선의 색깔입니다 strokeOpacity: 1, // 선의 불투명도 입니다 1에서 0 사이의 값이며 0에 가까울수록 투명합니다 strokeStyle: 'line', // 선의 스타일 입니다 fillColor: '#CFE7FF', // 채우기 색깔입니다 fillOpacity: 0.5, // 채우기 불투명도 입니다 zIndex:100000, }); list_circle.setMap(map); } },function(){ list_circle.setMap(null); }); if(total=="0") { $("#property_list").html("
    매물이 없습니다.
    지도를 옮기거나 검색조건을 변경해 보세요.
    "); } $('[data-bs-toggle="tooltip"]').tooltip(); } }); } function get_map_list_paging(){ $(".page-link").click(function(e){ e.preventDefault(); var page = $(this).attr("href").substring($(this).attr("href").lastIndexOf('/') + 1) get_map_list(page); $(".property_list_wrapper").animate({ scrollTop: 0 }, 600); }); } function draw_sido(val){ $.each(val, function(key, val) { sido_markers[key] = new daum.maps.CustomOverlay({ map: map, position: new daum.maps.LatLng(val["lat"], val["lng"]), content: "
    "+val["sido"]+""+val["cnt"]+"
    ", yAnchor: 1 }); }); } function draw_gugun(val){ $.each(val, function(key, val) { gugun_markers[key] = new daum.maps.CustomOverlay({ map: map, position: new daum.maps.LatLng(val["lat"], val["lng"]), content: "
    "+val["gugun"].replace(" ","
    ")+""+val["cnt"]+"
    ", yAnchor: 1 }); }); } function draw_dong(val){ var dong_id = ""; var where = ""; $.each(val, function(key, val) { dong_markers[key] = new daum.maps.CustomOverlay({ map: map, position: new daum.maps.LatLng(val["lat"], val["lng"]), content: "
    "+val["dong"]+""+val["cnt"]+"
    ", yAnchor: 1 }); //동을 검색했을 경우 해당 동을 선택해준다 if($("#search_type").val()=="address" && $("#search_value").val()==val["id"]){ dong_id = val["id"]; where = val["dong"]+" 검색결과("+val["cnt"]+")"; } //통합검색으로 동을 검색했을 경우 해당 동을 선택해준다 if($("#search_type").val()=="google" && $("#search_value").val()==val["dong"]){ dong_id = val["id"]; where = val["dong"]+" 검색결과("+val["cnt"]+")"; } }); } var marker_circle; /* 숫자 클러스터에 마우스를 올리면 나타나는 써클 */ function draw_marker(val){ var cluster_count = 0; $.each(val, function(key1, val1) { var loc = new daum.maps.LatLng(val1["lat"], val1["lng"]); var c_class = "s"; if(val1["count"]>=10) c_class = "m"; else if(val1["count"]>=100) c_class = "l"; markers[key1] = new daum.maps.CustomOverlay({ map: map, position: loc, content: "
    "+val1["count"]+"
    ", zIndex: 1 }); }); //이미지 클러스터에 오버효과 $('.cluster_num').parent().hover(function(){ $(this).children('img:nth-child(2)').css('box-shadow','0 0 7px 7px '+cluster_color); $(this).children().css('-webkit-transition','0.3s ease-in-out'); $(this).children().css('-moz-transition','0.3s ease-in-out'); $(this).children().css('-o-transition','0.3s ease-in-out'); $(this).children().css('transition','0.3s ease-in-out'); },function(){ if(!$(this).hasClass('hover_active')){ $(this).children().css('box-shadow','none'); } }); //마우스 올리면 원 반경 그려주기 $('.cluster_num').hover(function(){ if(typeof marker_circle !== 'undefined') marker_circle.setMap(null); marker_circle = new kakao.maps.Circle({ center : new kakao.maps.LatLng($(this).data('lat'), $(this).data('lng')), // 원의 중심좌표 입니다 radius: 50 * level, // 미터 단위의 원의 반지름입니다 strokeWeight: 2, // 선의 두께입니다 strokeColor: '#75B8FA', // 선의 색깔입니다 strokeOpacity: 1, // 선의 불투명도 입니다 1에서 0 사이의 값이며 0에 가까울수록 투명합니다 strokeStyle: 'solid', // 선의 스타일 입니다 fillColor: '#CFE7FF', // 채우기 색깔입니다 fillOpacity: 0.5 // 채우기 불투명도 입니다 }); marker_circle.setMap(map); },function(){ marker_circle.setMap(null); }); $(".cluster_num").click(function(){ var ids = $(this).data("ids"); $(".cluster_num").removeClass("active"); $(this).addClass("active"); $.ajax({ type : "POST", url : "/property/ajax_cluster/", data : {ids:ids}, dataType: 'html', beforeSend:function(){ $("#apt-area").html("
    로딩중...
    데이터를 로딩중입니다.
    "); $("#apt-area").show(); }, complete:function(){ }, success: function(data) { $("#apt-area").html(data); $("#apt-area").show(); $("#map_list").addClass("half"); var lastScroll = 0; $(".property-body-wrapper").on("touchmove",function(e){ var evt = (typeof e.originalEvent === 'undefined') ? e : e.originalEvent; var touch = evt.touches[0] || evt.changedTouches[0]; var st = touch.pageY; if (st > lastScroll){ //다운 if( $("#map_list").hasClass("half") ) { $("#map_list").removeClass("half"); $("#map_list").addClass("on"); e.preventDefault(); } else if( $("#map_list").hasClass("on") ) { } else { e.preventDefault(); } } lastScroll = st; }); } }); }); } /* 단지 */ function draw_apt(val){ $.each(val, function(key1, val1) { var loc = new daum.maps.LatLng(val1["lat"], val1["lng"]); var danzi_nm = val1["danzi_nm"]; if(danzi_nm.length > 6) danzi_nm = danzi_nm.substring(0,6)+".."; if(level<3){ apts[key1] = new daum.maps.CustomOverlay({ map: map, position: loc, content: "
    "+val1["prices"]+"
    "+danzi_nm+"
    ", zIndex: 1 }); } else { apts[key1] = new daum.maps.CustomOverlay({ map: map, position: loc, content: "
    "+val1["prices"]+"
    ", zIndex: 1 }); } }); /* 아파트 단지 클릭 시 우측에 해당 단지 정보를 보여 주도록 한다. */ $(".cluster_apt").click(function(){ var apt_id = $(this).data("id"); $(".cluster_apt").removeClass("active"); $(this).addClass("active"); $.ajax({ type : "POST", url : "/property/apt_view/"+apt_id, dataType: 'html', beforeSend:function(){ $("#apt-area").html("
    로딩중...
    데이터를 로딩중입니다.
    "); $("#apt-area").show(); }, complete:function(){ /**/ }, success: function(data) { $("#apt-area").html(data); $("#apt-area").show(); $("#map_list").toggleClass("on"); } }); }); } function close_apt(){ $(".cluster_apt").removeClass("active"); $(".cluster_num").removeClass("active"); $("#map_list").removeClass("half"); $("#map_list").removeClass("on"); $("#apt-area").hide(); } function remove_data(){ for (var i = 0; i < markers.length; i++) { if(typeof markers[i] !== 'undefined') markers[i].setMap(null); } if(markers.length>0) markers = []; for (var i = 0; i < smarkers.length; i++) { smarkers[i].setMap(null); } if(smarkers.length>0) smarkers = []; for (var i = 0; i < apts.length; i++) { if(typeof apts[i] !== 'undefined') apts[i].setMap(null); } if(apts.length>0) apts = []; for (var i = 0; i < sido_markers.length; i++) { sido_markers[i].setMap(null); } if(sido_markers.length>0) sido_markers = []; for (var i = 0; i < gugun_markers.length; i++) { gugun_markers[i].setMap(null); } if(gugun_markers.length>0) gugun_markers = []; for (var i = 0; i < dong_markers.length; i++) { dong_markers[i].setMap(null); } } function over_cluster(id){ $('#round'+id).parent().css('z-index',99); setTimeout(function(){ $('#round'+id).parent().css('z-index',100); },150); } function move_map(lat,lng, pzoom){ map.setCenter(new daum.maps.LatLng(lat, lng)); map.setLevel(pzoom); } function level_up(lat,lng){ console.log(level); move_map(lat,lng,level-1); console.log(level); mapdraw(); } function init_filter(){ $("#form").find("input:checkbox").each(function(){ $(this).prop("checked", false); }); $("#form").find("select").each(function(){ $(this).val(""); }); sell_price_range.reset(); deposit_price_range.reset(); rent_price_range.reset(); if($("#area").length>0) area_range.reset(); if($("#area_total").length>0) area_total_range.reset(); if($("#area_land").length>0) area_land_range.reset(); mapdraw_event(); } function filter_title(){ $("#selltype_label").html("거래 방식"); $("#cate_label").html("매물 종류"); $("#bedcnt_label").html("방 수"); $("#theme_label").html("테마"); $("#price_label").html("가격 대"); $("#area_label").html("면적"); $("#option_label").html(" 상세 검색"); var title = ""; var btn = ['selltype','cate','bedcnt','theme']; $.each(btn,function(index,item){ title = ""; $("#"+item+"_group input").each(function(){ if($(this).is(":checked")){ if(title=="") title = title + $(this).data("title"); else if(title!="") title = title + "," + $(this).data("title"); } }); if(title!="") { $("#"+item+"_label").removeClass("btn-outline-secondary"); $("#"+item+"_label").addClass("btn-secondary"); $("#"+item+"_label").html(title); } else { $("#"+item+"_label").removeClass("btn-secondary"); $("#"+item+"_label").addClass("btn-outline-secondary"); } }); /* 가격대 - 앞 숫자, 뒷 숫자 모두 보여준다. - labeling_sell_price - labeling_deposit_price - labeling_rent_price */ title = ""; var sell_price = $("#sell_price").val(); var deposit_price = $("#deposit_price").val(); var rent_price = $("#rent_price").val(); if(sell_price!=";" && sell_price!="null;null" && sell_price!="0;"+sell_price_max) { title = filter_title_price($("#sell_price").val(),"sell"); } if(deposit_price!=";" && deposit_price!="null;null" && deposit_price!="0;"+deposit_price_max) { title = filter_title_price($("#deposit_price").val(),"deposit"); } if(rent_price!=";" && rent_price!="null;null" && rent_price!="0;"+rent_price_max) { title = title + filter_title_price($("#rent_price").val(),"rent"); } if(title.trim()!="") { $("#price_label").removeClass("btn-outline-secondary"); $("#price_label").addClass("btn-secondary"); $("#price_label").html(title); } else { $("#price_label").removeClass("btn-secondary"); $("#price_label").addClass("btn-outline-secondary"); } /** * 면적 */ title = ""; if($("#area").length>0){ var area = $("#area").val(); if(area!="null;null" && area!="0;"+area_max) { title = filter_title_area($("#area").val()); } } if(title.trim()!="") { $("#area_label").removeClass("btn-outline-secondary"); $("#area_label").addClass("btn-secondary"); $("#area_label").html(title); } else { $("#area_label").removeClass("btn-secondary"); $("#area_label").addClass("btn-outline-secondary"); } /* 옵션 */ //floor, build_date title=""; if($("#form select[name='floor'] option:selected").val()!="") { title = $("#form select[name='floor'] option:selected").text()+" "; } if($("#form select[name='build_date'] option:selected").val()!=""){ title = title + $("#form select[name='build_date'] option:selected").text(); } if(title.trim()!="") { $("#option_label").removeClass("btn-outline-secondary"); $("#option_label").addClass("btn-secondary"); $("#option_label").html(title); } else { $("#option_label").removeClass("btn-secondary"); $("#option_label").addClass("btn-outline-secondary"); } } function filter_title_price(ts,gubun){ var r = ""; var t = ts.split(';'); if(gubun=="sell"){ /* 주가격 */ if(t[0]!="null" && t[0]!="0") r = r+labeling_sell_price(t[0]); if(t[1]!="null") r = r+"~"+labeling_sell_price(t[1]); return r; } else if(gubun=="deposit"){ /* 주가격 */ if(t[0]!="null" && t[0]!="0") r = r+labeling_deposit_price(t[0]); if(t[1]!="null") r = r+"~"+labeling_deposit_price(t[1]); return r; } else { /* 보조 가격 */ if(t[0]!="null" && t[0]!="0") r = r+labeling_rent_price(t[0]); if(t[1]!="null") r = r+"~"+labeling_rent_price(t[1]); if(r!="") return ",월"+r; } } function filter_title_area(ts){ var r = ""; var t = ts.split(';'); /* 주가격 */ if(t[0]!="null" && t[0]!="0") r = r+t[0]+"평"; if(t[1]!="null" && t[1]!=area_max) r = r+"~"+t[1]+"평"; return r; } function filter_title_area_total(ts){ var r = ""; var t = ts.split(';'); /* 주가격 */ if(t[0]!="null" && t[0]!="0") r = r+t[0]+"평"; if(t[1]!="null" && t[1]!=area_total_max) r = r+"~"+t[1]+"평"; return r; } function filter_title_area_land(ts){ var r = ""; var t = ts.split(';'); /* 주가격 */ if(t[0]!="null" && t[0]!="0") r = r+t[0]+"평"; if(t[1]!="null" && t[1]!=area_land_max) r = r+"~"+t[1]+"평"; return r; } function init_rangeslider(){ $("#sell_price").ionRangeSlider({ type: 'double', min: 0, max: sell_price_max, from: 0, to: sell_price_max, values: sell_price, grid: false, grid_num:1000, grid_snap: true, skin: 'round', prettify: labeling_sell_price, }); sell_price_range = $("#sell_price").data("ionRangeSlider"); if($("#form input[name='sell_from']").val()!="" || $("#form input[name='sell_to']").val()!=""){ sell_price_range.update({ from: sell_price.indexOf(Number($("#form input[name='sell_from']").val())), to: sell_price.indexOf(Number($("#form input[name='sell_to']").val())) }); } $("#deposit_price").ionRangeSlider({ type: 'double', min: 0, max: deposit_price_max, from: 0, to: deposit_price_max, values: deposit_price, grid: false, grid_num:1000, grid_snap: true, skin: 'round', prettify: labeling_deposit_price, }); deposit_price_range = $("#deposit_price").data("ionRangeSlider"); $("#rent_price").ionRangeSlider({ type: 'double', min: 0, max: rent_price_max, from: 0, to: rent_price_max, values: rent_price, grid: false, grid_snap: true, skin: 'round', prettify: labeling_rent_price }); rent_price_range = $("#rent_price").data("ionRangeSlider"); if($("#area").length>0){ $("#area").ionRangeSlider({ type: 'double', min: 0, max: area_max, from: 0, to: area_max, values: area, grid: false, grid_snap: true, skin: 'round', prettify: labeling_area }); area_range = $("#area").data("ionRangeSlider"); } if($("#area_total").length>0){ $("#area_total").ionRangeSlider({ type: 'double', min: 0, max: area_total_max, from: 0, to: area_total_max, values: area_total, grid: false, grid_snap: true, skin: 'round', prettify: labeling_area_total }); area_total_range = $("#area_total").data("ionRangeSlider"); } if($("#area_land").length>0){ $("#area_land").ionRangeSlider({ type: 'double', min: 0, max: area_land_max, from: 0, to: area_land_max, values: area_land, grid: false, grid_snap: true, skin: 'round', prettify: labeling_area_land }); area_land_range = $("#area_land").data("ionRangeSlider"); } filter_title(); } function labeling_sell_price(ts) { if(ts == 0) { return "0원" } else if(ts >= sell_price_max) return "제한없음"; else return numberToKorean(ts) + "원"; } function labeling_deposit_price(ts) { if(ts == 0) { return "0원" } else if(ts >= deposit_price_max) return "제한없음"; else return numberToKorean(ts) + "원"; } /** * 월세 가격 검색 보여주기 */ function labeling_rent_price(ts) { if(ts == 0) { return "0원" } else if(ts >= rent_price_max) return "제한없음"; else return numberToKorean(ts) + "원"; } /** * 면적 검색 보여주기 */ function labeling_area(ts) { if(ts >= area_max) return "제한없음"; else return ts + "평"; } function labeling_area_total(ts) { if(ts >= area_total_max) return "제한없음"; else return ts + "평"; } function labeling_area_land(ts) { if(ts >= area_land_max) return "제한없음"; else return ts + "평"; } function numberToKorean(number){ number = number *10000; /* 사이트에서 기본으로 1만원 기준으로 하니까 */ var inputNumber = number < 0 ? false : number; /* 금액이 0보다 작은 것은 성립하지 않는다 */ var unitWords = ['', '만', '억', '조', '경']; var splitUnit = 10000; var splitCount = unitWords.length; var resultArray = []; var resultString = ''; for (var i = 0; i < splitCount; i++){ var unitResult = (inputNumber % Math.pow(splitUnit, i + 1)) / Math.pow(splitUnit, i); unitResult = Math.floor(unitResult); if(unitResult>=1000){ resultArray[i] = unitResult/1000 + "천"; } else if (unitResult >= 100){ resultArray[i] = unitResult/100 + "백"; } else if (unitResult > 0){ resultArray[i] = unitResult; } } for (var i = 0; i < resultArray.length; i++){ if(!resultArray[i]) continue; resultString = String(resultArray[i]) + unitWords[i] + resultString; } return resultString; } function zoomIn() { level = level -1; map.setLevel(level); } function zoomOut() { level = level + 1; map.setLevel(level); } /** * traffic,roadview,terrain,use_district,skyview,roadview */ function setMapType(maptype) { if (maptype == 'ROADMAP') { map.addOverlayMapTypeId(kakao.maps.MapTypeId.ROADMAP); $("#map-btn").html("일반"); } else if (maptype == 'USE_DISTRICT') { map.addOverlayMapTypeId(kakao.maps.MapTypeId.USE_DISTRICT); $("#map-btn").html("지적"); } else if (maptype == 'SKYVIEW') { map.addOverlayMapTypeId(kakao.maps.MapTypeId.SKYVIEW); $("#map-btn").html("위성"); } else if (maptype == 'TRAFFIC') { map.addOverlayMapTypeId(kakao.maps.MapTypeId.TRAFFIC); $("#map-btn").html("교통"); } else { map.addOverlayMapTypeId(kakao.maps.MapTypeId.HYBRID); } } var local_img; function setLocal(local){ remove_local(); var ps = new kakao.maps.services.Places(map); local_img = '/assets/img/local/'+local+'.png'; ps.categorySearch(local, placesSearchCB, {useMapBounds:true}); } function placesSearchCB (data, status, pagination) { if (status === kakao.maps.services.Status.OK) { for (var i=0; i' + place.place_name + ''); infowindow.open(map, local[i]); }); } function remove_local(){ for (var i = 0; i < local.length; i++) { local[i].setMap(null); } } /* 지하철 처리 */ function get_subway_map(val){ var subway_id = ""; var subway_x = ""; var subway_y = ""; var where = ""; $.each(val, function(key1, val1) { if(map.getLevel()<=5){ // 커스텀 오버레이를 생성합니다 var subway_icon = ""; /*

    "+val1["name"]+"
    */ smarkers[key1] = new daum.maps.CustomOverlay({ map: map, position: new daum.maps.LatLng(val1["lat"], val1["lng"]), content: "
    "+subway_icon+val1["name"]+"
    ", yAnchor: 1 }); } }); } /***************************************************** * 지도에 지하철 역 클러스터 표시 ******************************************************/ function get_subway_cluster_map(val){ var subway_id = ""; var subway_x = ""; var subway_y = ""; var where = ""; $.each(val, function(key, val) { dong_markers[key] = new daum.maps.CustomOverlay({ map: map, position: new daum.maps.LatLng(val["lat"], val["lng"]), content: "
    "+val["name"]+"
    ", yAnchor: 0.6 }); }); } /***************************************************** * 지하철을 클릭했을 때 인근 매물 목록을 보여주는 부분이다. ******************************************************/ subway_x=''; //검색추가 subway_y=''; //검색추가 subway_id=''; //검색추가 subway_where=''; //검색추가 function subway_list(x,y,id,where){ subway_change = true; reset_coord_marker(); reset_right_value(); $("#right_subway_id").val(id); $("#subway_x").val(x); $("#subway_y").val(y); is_cluster='subway';//검색추가 subway_x=x; //검색추가 subway_y=y; //검색추가 subway_id=id; //검색추가 subway_where=where; //검색추가 if($("#biz_map").length > 0 && $("#biz_map").val()=="1"){ $(".sorting_section").hide(); } $("#where").html(where); $("#where_wrapper").removeClass("display-none"); $(".sorting_section").hide();//검색추가 subway_cluster_hover(id); right_exists = false; if($("#biz_map").length > 0 && $("#biz_map").val()=="1"){ get_map_list_biz(0); } else{ get_map_list(0); } } /***************************************************** * 지하철 클릭했을 때 오버효과를 나타낸다. ******************************************************/ function subway_cluster_hover(id){ $('.subwaycon').css('border','2px solid rgba(250,255,255,0.2)'); $('.subwaycon'+id).css('border','4px solid rgba(200,255,255,1)'); $('.subwaycon').css('box-shadow','none'); $('.subwaycon'+id).css('box-shadow','0 0 7px 7px #337ab7'); $('.cs').parent().children().css('box-shadow','none'); $('.cs').parent().removeClass('hover_active'); click_cluster = false; } $(document).on("click",".donginfo",function(){ var building_id = $(this).data("buildingid"); $(".donginfo").removeClass("donginfo_active"); $(this).addClass("donginfo_active"); $.ajax({ type: 'POST', url: "/property/ajax_building/", data: { building_id:building_id }, dataType: 'json', success: function(data){ $("#building_nm_txt").html(data.building.building_nm); $("#sede_cnt_txt").html(data.building.sede_cnt+"세대"); $("#build_date_txt").html(data.building.build_date); $("#area_land_txt").html(data.building.area_land_txt); $("#area_bld_txt").html(data.building.area_bld_txt); $("#area_total_txt").html(data.building.area_total_txt); $("#floor_txt").html("(지상) "+data.building.floor_up+"층 (지하) "+data.building.floor_down+"층 (높이) "+data.building.height+"m"); $("#elevator_txt").html("(승객용) "+data.building.elevator_ride+"대 (비상용) "+data.building.elevator_emgen+"대"); $("#park_txt").html("(옥내) 자주식 "+data.building.park_auto_in+"대, 기계식 "+data.building.park_mech_in+"대
    (옥외) 자주식 "+data.building.park_auto_out+"대, 기계식 "+data.building.park_mech_out+"대"); $("#main_yongdo_txt").html(data.building.main_yongdo); $("#sub_yongdo_txt").html(data.building.sub_yongdo); $("#structure_txt").html(data.building.structure); $("#property_floor").html(data.building_floor_table); } }); });