var map; var sm_markers = new Array(); var lg_markers = new Array(); var marker_switch_zoom_level = 6; //------------------------ // 호텔 마커 아이콘 //------------------------ var sm_icon = null; var sm_icon_width = 12; var sm_icon_height = 13; var sm_icon_image = '/images/gmap_point_daiwaresort_sm.gif'; var lg_icon = null; var lg_icon_width = 32; var lg_icon_height = 32; var lg_icon_image = '/images/gmap_point_daiwaresort.png'; var airport_icon = null; var airport_icon_width = 26; var airport_icon_height = 26; var airport_icon_image = 'http://www.travelomap.com/map/img/map/20110727135407.png'; //--------------------- // 지도 로드하기 //--------------------- var maps = { sm_markers: new Array(), sm_labels: new Array(), lg_markers: new Array(), airport_markers: new Array(), load: function() { var me = maps; var opt = { center: new google.maps.LatLng(36.8626, 134.0000), zoom: 4, mapTypeId: google.maps.MapTypeId.ROADMAP } map = new google.maps.Map(document.getElementById('map_canvas'), opt); google.maps.event.addListener(map,'zoom_changed', me.zoom_changed); //--------------------- // 호텔 마커 //--------------------- for(var i in points) { me.create_marker(i,points[i]); } //--------------------- // 공항 마커 //--------------------- for(var i in airports) { me.create_airport_marker(i,airports[i]); } }, zoom_changed: function(e) { // 지도 줌레벨 변경 시 이벤트 처리 var me = maps; maps.clear(); var zoom = map.getZoom(); if(zoom > marker_switch_zoom_level) { for(var i in maps.lg_markers) { maps.lg_markers[i].setVisible(true); } for(var i in maps.airport_markers) { maps.airport_markers[i].setVisible(true); } } else { for(var i in maps.sm_markers) { maps.sm_markers[i].setVisible(true); } for(var i in maps.airport_markers) { maps.airport_markers[i].setVisible(false); } } //if(zoom > 6) show_airport(); }, create_marker: function(i,r) { var point = new google.maps.LatLng(parseFloat(r.lat),parseFloat(r.lng)); var sm_marker = new MarkerWithLabel({ map: map, position: point, icon: sm_icon_image, title: r.title, flat: true, visible: true, labelVisible: false, labelContent: r.title, labelAnchor: new google.maps.Point(-18, 32), labelClass: 'label', // the CSS class for the label labelStyle: {opacity: 1.0} }); maps.sm_markers.push(sm_marker); google.maps.event.addListener(sm_marker,'click',function(e) { marker_click(r.url); }); var lg_marker = new MarkerWithLabel({ map: map, position: point, icon: lg_icon_image, flat: true, visible: false, labelVisible: true, labelContent: r.title, labelAnchor: new google.maps.Point(-10, 29), labelClass: 'map_label', // the CSS class for the label labelStyle: {opacity: 1.0} }); google.maps.event.addListener(lg_marker,'click',function(e) { marker_click(r.url); }); maps.lg_markers.push(lg_marker); }, create_airport_marker: function(i,r) { var point = new google.maps.LatLng(parseFloat(r.lat),parseFloat(r.lng)); var marker = new MarkerWithLabel({ map: map, position: point, icon: airport_icon_image, flat: true, visible: false, labelVisible: true, labelContent: r.title, labelAnchor: new google.maps.Point(-18, 34), labelClass: 'map_label_green', // the CSS class for the label labelStyle: {opacity: 1.0} }); maps.airport_markers.push(marker); }, clear: function() { for(var i in maps.lg_markers) { maps.lg_markers[i].setVisible(false); } for(var i in maps.sm_markers) { maps.sm_markers[i].setVisible(false); } } } function init_map() { maps.load(); return; if(GBrowserIsCompatible()) { map = new GMap2(document.getElementById("map_canvas")); var center = new GLatLng(36.8626, 134.0000); map.setCenter(center, 4); map.setUIToDefault(); GEvent.addListener(map,'mouseover',function() { map_mouseover(); }); GEvent.addListener(map,'mouseout',function() { map_mouseout(); }); GEvent.addListener(map,'zoomend',function() { map_zoomend(); }); sm_icon = new GIcon(G_DEFAULT_ICON); sm_icon.image = sm_icon_image; sm_icon.shadow = ''; sm_icon.iconSize = new GSize(sm_icon_width,sm_icon_height); sm_icon.iconAnchor = new GPoint(sm_icon_width/2,sm_icon_height); lg_icon = new GIcon(G_DEFAULT_ICON); lg_icon.image = lg_icon_image; lg_icon.shadow = ''; lg_icon.iconSize = new GSize(lg_icon_width,lg_icon_height); lg_icon.iconAnchor = new GPoint((lg_icon_width/2)-5,lg_icon_height); airport_icon = new GIcon(G_DEFAULT_ICON); airport_icon.image = airport_icon_image; airport_icon.shadow = ''; airport_icon.iconSize = new GSize(airport_icon_width,airport_icon_height); airport_icon.iconAnchor = new GPoint((airport_icon_width/2)-5,airport_icon_height); //var marker = new GMarker(center,{icon:lg_icon,draggable:true}); //map.addOverlay(marker); //var marker = new GMarker(center,{draggable:true}); //map.addOverlay(marker); //--------------------- // 호텔 //--------------------- for(var i in points) { show_marker(i,points[i]); } } } function map_mouseover() { $.gallery_stop(); } function map_mouseout() { $.gallery_start(); } //------------------------- // 선택한 호텔로 이동하기 //------------------------- function gmap_move(hotel_no) { for(var i in points) { var r = points[i]; if(r.no == hotel_no) { map.setCenter(maps.lg_markers[i].getPosition()); map.setZoom(12); } } } //--------------------- // 마커 클릭 시 //--------------------- function marker_click(url) { open_hotel_homepage(url); } //--------------------- // 라벨 클릭 시 //--------------------- function label_click(label) { var url = label.id; if(url != '') open_hotel_homepage(url); } //-------------------------- // 호텔 개별 홈페이지 열기 //-------------------------- function open_hotel_homepage(url) { window.open(WWW_DOMAIN_NAME+'/'+url); } //map.setCenter(bounds.getCenter(),map.getBoundsZoomLevel(bounds));