var map_detail; var radius_val = 50; var slider; var fullscreen_flag = 0; /*브라우저에서 플래시 10이상 설치가 안되있다면 로드뷰를 볼 수 없다*/ var flash_enable = false; if(swfobject.getFlashPlayerVersion().major >= 10){ flash_enable = true; } function set_radius(t){ radius_val = t; } /** * 매물 위치 표시 (google) */ function position_google(lat, lng) { lat = parseFloat(lat); lng = parseFloat(lng); var google_map = new google.maps.Map(document.getElementById('google_map'), { center: {lat: lat, lng: lng}, zoom: 16, panControl : false, linksControl: false, zoomControl : true, enableCloseButton: false, scrollwheel : false, streetViewControl : true, mapTypeControlOptions: { position: google.maps.ControlPosition.LEFT_TOP }, zoomControlOptions: { style: google.maps.ZoomControlStyle.LARGE, position: google.maps.ControlPosition.RIGHT_TOP }, streetViewControlOptions: { position: google.maps.ControlPosition.RIGHT_TOP } }); var circle = new google.maps.Circle({ strokeColor: '#75B8FA', strokeOpacity: 0.8, strokeWeight: 2, fillColor: '#CFE7FF', fillOpacity: 0.35, map: google_map, center: {lat: lat, lng: lng}, radius: radius_val }); } /** * 매물 위치 표시 (daum) */ function position_daum(lat, lng, level, maxzoom) { var container = document.getElementById('container'), // 지도와 로드뷰를 감싸고 있는 div 입니다 mapWrapper = document.getElementById('mapWrapper'), // 지도를 감싸고 있는 div 입니다 btnRoadview = document.getElementById('btnRoadview'), // 지도 위의 로드뷰 버튼, 클릭하면 지도는 감춰지고 로드뷰가 보입니다 btnMap = document.getElementById('btnMap'), // 로드뷰 위의 지도 버튼, 클릭하면 로드뷰는 감춰지고 지도가 보입니다 rvContainer = document.getElementById('roadview'), // 로드뷰를 표시할 div 입니다 mapContainer = document.getElementById('point_map'); // 지도를 표시할 div 입니다 // 지도와 로드뷰 위에 마커로 표시할 특정 장소의 좌표입니다 var placePosition = new daum.maps.LatLng(lat, lng); // 지도 옵션입니다 var mapOption = { center: placePosition, // 지도의 중심좌표 level: level // 지도의 확대 레벨 }; // 지도를 표시할 div와 지도 옵션으로 지도를 생성합니다 map_detail = new daum.maps.Map(mapContainer, mapOption); // 일반 지도와 스카이뷰로 지도 타입을 전환할 수 있는 지도타입 컨트롤을 생성합니다 var mapTypeControl = new daum.maps.MapTypeControl(); // 지도에 컨트롤을 추가해야 지도위에 표시됩니다 // daum.maps.ControlPosition은 컨트롤이 표시될 위치를 정의하는데 TOPRIGHT는 오른쪽 위를 의미합니다 map_detail.addControl(mapTypeControl, daum.maps.ControlPosition.TOPRIGHT); // 지도 확대 축소를 제어할 수 있는 줌 컨트롤을 생성합니다 var zoomControl = new daum.maps.ZoomControl(); map_detail.addControl(zoomControl, daum.maps.ControlPosition.RIGHT); if(flash_enable){ // 로드뷰 객체를 생성합니다 var roadviewClient = new daum.maps.RoadviewClient(); var roadview = new daum.maps.Roadview(rvContainer); // 로드뷰의 위치를 특정 장소를 포함하는 파노라마 ID로 설정합니다 // 로드뷰의 파노라마 ID는 Wizard를 사용하면 쉽게 얻을수 있습니다 roadviewClient.getNearestPanoId(placePosition, 50, function(panoId) { if(!panoId){ roadviewClient.getNearestPanoId(placePosition, 100, function(panoId) { roadview.setPanoId(panoId, placePosition); if(!panoId){ roadviewClient.getNearestPanoId(placePosition, 200, function(panoId) { roadview.setPanoId(panoId, placePosition); if(!panoId){ roadviewClient.getNearestPanoId(placePosition, 300, function(panoId) { roadview.setPanoId(panoId, placePosition); if(!panoId){ roadviewClient.getNearestPanoId(placePosition, 500, function(panoId) { roadview.setPanoId(panoId, placePosition); if(!panoId){ msg("success" ,"해당지역 근처에 로드뷰가 없습니다."); } }); } }); } }); } }); } roadview.setPanoId(panoId, placePosition); }); // 로드뷰 초기화가 완료되면 daum.maps.event.addListener(roadview, 'init', function() { // 로드뷰에 특정 장소를 표시할 마커를 생성하고 로드뷰 위에 표시합니다 /* var rvMarker = new daum.maps.Marker({ position: placePosition, map: roadview }); */ // 특정 장소가 잘보이도록 로드뷰의 적절한 시점(ViewPoint)을 설정합니다 // Wizard를 사용하면 적절한 로드뷰 시점(ViewPoint)값을 쉽게 확인할 수 있습니다 roadview.setViewpoint({ pan: 0, tilt: 0, zoom: 0 }); }); } if(radius_val>0){ // 지도에 표시할 원을 생성합니다 var circle = new daum.maps.Circle({ center : new daum.maps.LatLng(lat, lng), // 원의 중심좌표 입니다 radius: radius_val, // 미터 단위의 원의 반지름입니다 strokeWeight: 5, // 선의 두께입니다 strokeColor: '#75B8FA', // 선의 색깔입니다 strokeOpacity: 1, // 선의 불투명도 입니다 1에서 0 사이의 값이며 0에 가까울수록 투명합니다 strokeStyle: 'dashed', // 선의 스타일 입니다 fillColor: '#CFE7FF', // 채우기 색깔입니다 fillOpacity: 0.7 // 채우기 불투명도 입니다 }); // 지도에 원을 표시합니다 circle.setMap(map_detail); } // 마우스휠로 자동 확대 축소 안되게 하기 map_detail.setZoomable(false); } // 다음지도와 로드뷰를 감싸고 있는 div의 class를 변경하여 지도를 숨기거나 보이게 하는 함수입니다 function toggleMap(active) { if (active) { // 지도가 보이도록 지도와 로드뷰를 감싸고 있는 div의 class를 변경합니다 container.className = "view_map"; } else { if(flash_enable){ // 지도가 숨겨지도록 지도와 로드뷰를 감싸고 있는 div의 class를 변경합니다 container.className = "view_roadview"; } else { msg("error","Flash 10 이상이 설치 되어야 로드뷰를 볼 수 있습니다."); } } } function refresh(){ if(map_detail!=null && map_detail!="undefined"){ map_detail.relayout(); } } /** * 관심으로 등록하기 */ function hope(id){ open_leanModal("#signin"); return false; $.get("/product/hope_action/"+id+"/"+Math.round(new Date().getTime()),function(data){ if(data=="1"){ if("basic"=="reales"){ $(".hope_count").text(parseInt($(".hope_count").text())+1); msg("success" ,"회원로그인 시 영구저장됩니다."); hope_list_refresh(); } else{ msg("success" ,"회원로그인 시 영구저장됩니다."); } } else if(data=="2"){ msg("success" ,"로그인 후 이용가능 합니다."); } else { msg("success" ,"이미 찜 하였습니다."); } }); } function hope_installation(id){ $.get("/installation/hope_action/"+id+"/"+Math.round(new Date().getTime()),function(data){ if(data=="1"){ if("basic"=="reales"){ $(".hope_count").text(parseInt($(".hope_count").text())+1); msg("success" ,"회원로그인 시 영구저장됩니다."); hope_list_refresh(); } else{ msg("success" ,"회원로그인 시 영구저장됩니다."); } } else { msg("success" ,"이미 찜 하였습니다."); } }); } function hope_list_refresh(){ $.getJSON("/hope/get_json_list/"+Math.round(new Date().getTime()),function(data){ var str = ''; if(data){ $.each(data, function(key, val) { str += '
  • '; str += ' '; str += ' avatar'; str += '
    '; str += '
    '; str += '
    '+val["title"]+'
    '; str += '
    '+val["address_name"]+'
    '; str += '
    '; str += '
    '; str += '
    '; str += '
  • '; }); $("#hope_list").html(str); } }); } function local(code,lat,lng){ $.getJSON("/product/local/"+lat+"/"+lng+"/"+code+"/"+Math.round(new Date().getTime()),function(data){ if(data){ $.each(data, function(key, val) { if(key=="documents"){ var str = ""; if(val.length<1){ str += ""; } else { $.each(val, function(key1, val1) { phone = ""; if(val1["phone"]!=""){ phone = " " + val1["phone"] + ""; } str += ""; }); } str +="
    장소명거리전화번호
    자료가 없습니다.
    "+val1["place_name"]+" "+val1["distance"]+"m" + phone + "
    "; $("#"+code).html(str); } }); } }); } /** * 슬라이드 초기화 * p값이 0이면 gallery 썸네일이 하단, 1이면 썸네일이 우측에 위치하도록 한다. */ function view_init(p){ var gallery_height = 520; var gallery_thumbnail = "horizontal"; if(p=="1") { gallery_height = 400; gallery_thumbnail = "vertical"; } if(p=="2") { ctr='bullets'; global_caption=false; } else { ctr='thumbnails'; global_caption=true; } /** * imageScaleMode : fill, fit, fit-if-smaller(Default), none */ $('#gallery-1').css('display', 'block').royalSlider({ fullscreen: { enabled: true, nativeFS: false}, controlNavigation: ctr, transitionType : 'fade', autoPlay: { enabled: false, pauseOnHover: true, delay: 5000 }, autoScaleSlider: false, autoScaleSliderHeight: gallery_height, loop: true, imageAlignCenter:true, navigateByClick: false, numImagesToPreload:2, arrowsNav:true, arrowsNavAutoHide: true, arrowsNavHideOnTouch: true, keyboardNavEnabled: true, fadeinLoadedSlide: true, globalCaption: global_caption, globalCaptionInside: false, thumbs: { orientation: gallery_thumbnail, appendSpan: true, firstMargin: true, paddingBottom: 4 }, sliderTouch: true, imageScaleMode: function(slideObject) { if(fullscreen_flag>0){ return 'fit-if-smaller'; } else { if( slideObject.iH > slideObject.iW){ return 'fit-if-smaller'; } else { return 'fill'; } } } }); var si = $('#gallery-full').royalSlider({ fullscreen: { enabled: true, nativeFS: true }, addActiveClass: true, arrowsNav: false, controlNavigation: 'none', imageScaleMode: "fit-if-smaller", autoScaleSlider: true, autoScaleSliderWidth: 1200, autoScaleSliderHeight: 400, loop: true, fadeinLoadedSlide: false, globalCaption: false, keyboardNavEnabled: true, globalCaptionInside: false, visibleNearby: { enabled: true, centerArea: 0.5, center: true, breakpoint: 650, breakpointCenterArea: 0.64, navigateByCenterClick: true } }).data('royalSlider'); $('#concern_simple_form').ajaxForm({ beforeSubmit : function(){ if($('#concern_simple_form').find("#phone").val()==""){ msg("error" ,"전화번호를 입력해 주세요"); return false; } if(!$('#concern_simple_form').find("#privacy_chk").is(':checked')){ msg("error" ,"개인정보취급방침 동의 필수입력입니다."); return false; } }, success:function(data){ if(data == "1"){ msg("success" ,"등록성공입니다."); } else { msg("error" ,"오류가 발생했습니다"); } } }); $('#concern_form').ajaxForm({ beforeSubmit : function(){ if($('#concern_form').find("#phone").val()==""){ msg("error" ,"전화번호를 입력해 주세요"); return false; } if(!$('#concern_form').find("#concern_agree").prop("checked")){ msg("error" ,"개인정보취급방침에 동의해주시기 바랍니다."); return false; } }, success:function(data){ if(data == "1"){ msg("success" ,"등록성공입니다."); } else { msg("error" ,"오류가 발생했습니다"); } } }); $('#htab').easyResponsiveTabs({ type: 'default', //Types: default, vertical, accordion width: 'auto', //auto or any width like 600px fit: true, // 100% fit in a container tabidentify: 'hor_1', // The tab groups identifier activate: function(event) { // Callback function if tab is switched local($(this).find("a").attr("data-key"),$(this).find("a").attr("data-lat"),$(this).find("a").attr("data-lng")); } }); /* 문의나 예약을 선택하면 로그가 쌓이도록 한다. */ $(".concern_product").click(function(){ var id = $(this).attr("data-id"); if( $(this).attr("data-type")=="detail_address"){ $(".detail_address").show(); } else { $(".detail_address").hide(); } $.get("/product/add_call_view/"+id+"/"+$(this).attr("data-member-id")+"/"+Math.round(new Date().getTime()),function(data){ $("#target_url").attr("src","/product/view_log/?id="+id); }); }); $("#request_call").click(function(){ $(".member").fadeIn(0500) }); $(".memberClose").click(function(){ $(".member").fadeOut("normal"); }); /*** * gallery를 정의합니다. * 1. 동영상이 플레이되고 있을 경우에는 마우스오버로 페이지이동이 되지 않지만 플레이가 되고 있지 않을 경우에는 페이지 이동이 된다. * 2. 만약 360도 파노라마가 플레이되고 있을 경우에는 마우스오버로 이동되는 기능이 동작하지 않도록 한다. **/ var video_playing = false; slider = $('#gallery-1').data('royalSlider'); try{ slider.ev.on('rsVideoPlay', function() { video_playing = true; }); slider.ev.on('rsVideoStop', function() { video_playing = false; }); video_playing = true; if($("#panorama_frame").length == 0 && $(".360").length == 0){ $(".rsNavItem").mouseover(function() { if(!video_playing){ $('.royalSlider').royalSlider('goTo', $(this).index() ); } }); } $('#privacy_chk').click(function(){ if($(this).is(':checked')){ $('#privacy_view').modal(); } }); $(".rsFullscreenIcn").click(function(){ slider_fullscreen(); }); slider.ev.on('rsSlideClick', function () { if($('.rsTmb:eq('+slider.currSlideId+')').data('link')){ window.open($('.rsTmb:eq('+slider.currSlideId+')').data('link'), "", "width=1120,height=800"); return flase; } if(!slider.isFullscreen && panorama_flag==0){ slider.enterFullscreen(); /** slider_fullscreen(); **/ } }); slider.ev.on('rsEnterFullscreen', function() { fullscreen_flag = 1; $(".rsFullscreenIcn").html("").css("background","none"); $(".rsArrowLeft > .rsArrowIcn").html("").css("background","none"); $(".rsArrowRight > .rsArrowIcn").html("").css("background","none"); $(".rsFullscreenBtn").css("right","20px"); $(".rsArrowRight").css("right","20px"); slider.st.autoScaleSliderWidth= 900; slider.updateSliderSize(true); }); slider.ev.on('rsExitFullscreen', function() { fullscreen_flag = 0; slider.st.autoScaleSliderWidth= 900; slider.st.autoScaleSliderHeight= 580; slider.st.imageScalePadding = 0; $(".rsFullscreenIcn").html("").css("background",""); $(".rsArrowLeft > .rsArrowIcn").html("").css("background",""); $(".rsArrowRight > .rsArrowIcn").html("").css("background",""); $(".rsFullscreenBtn").css("right","0px"); $(".rsArrowRight").css("right","0px"); slider.updateSliderSize(true); }); } catch (exception) { } } function slider_fullscreen(){ setTimeout(function(){ resize(); }, 100); if(!slider.isFullscreen || slider.isFullscreen==undefined){ } else{ } }