(function($){ $.fn.litemap = function(lang,o){ if(lang=="cn" || lang=="b5") var s = {oc:'white',oy:0.7,oz:1000,sc:'#FFFFFF',sw:0.8,sh:0.8,ns:2,nc:'white',nz:'1em',nf:'sans-serif',lu:'../templates/current/images/img_loading.gif',lh:128,lw:128,ld:2000,a:false,auto:'地图',close:'关闭',ac:'退出'}; else var s = {oc:'white',oy:0.7,oz:1000,sc:'#FFFFFF',sw:0.8,sh:0.8,ns:2,nc:'white',nz:'1em',nf:'sans-serif',lu:'../templates/current/images/img_loading.gif',lh:128,lw:128,ld:2000,a:false,auto:'MAP',close:'CLOSE',ac:'ESC'}; if(o){ $.extend(s, o); } return this.each(function(){ var g = $(this).click(function(){ var i = $(g).index($(this)[0]); $.litemap.init(i, g, s); var x=$("#lng").val(); var y=$("#lat").val(); var z=$("#zoom").val(); var a=$("#address").text(); var map = new GMap2(document.getElementById("mapDiv")); map.setCenter(new GLatLng(y, x), parseInt(z)); if($("#maptype").val() == "satellite"){ map.setMapType(G_SATELLITE_TYPE); map.addControl(new GMapTypeControl()); } map.addControl(new GLargeMapControl()); map.addControl(new GOverviewMapControl()); var marker = new GMarker(new GLatLng(y, x)); map.addOverlay(marker); marker.openInfoWindowHtml(a); return false; }); }); }; $.litemap = { i: 0, g: [], s: {}, t: 0, a: 0, init: function(i, g, s){ this.i = i; this.g = g; this.s = s; this.a = s.a; $('body').append('<iframe id="ss_o" src="" scrolling="no" frameborder="0"></iframe><div id="out"><div id="title"><span id="ss_a" ></span><a id="ss_x" href=""></a></div><div id="mapDiv"><img id="ss_l" /></div></div>'); $('#out').css({border:'1px solid #555',position: 'fixed', zIndex: s.oz+1, opacity: 0, background: s.sc}); $('#title').css({width:'100%',height:'30px',padding:'0px 6px'}).css('font-weight','bold'); $('#ss_l').attr('src', s.lu).css({position: 'absolute', zIndex: s.oz+2, height: s.lh, width: s.lw, display: 'none'}); $('#ss_a').html(s.auto).css({top:'2px',left:'4px',position:'absolute', display:'block'}); $('#mapDiv').css({width:'100%',height:'100%'}); $('#out/a').css({position: 'absolute', display: 'block', color: s.nc, font: s.nz+'/1 '+s.nf, textDecoration: 'none', outline: 'none !impotant'}); $('#ss_x').attr('title', s.ac).html(s.close).css({position:'absolute',display:'block',top:'2px',right:'4px'}).bind('click', function(){ $.litemap.remove(); return false; }); $('#ss_o').css({position: 'fixed', zIndex: s.oz, opacity: 0, background:s.oc}).fadeTo('normal', s.oy, function(){ $('#out').fadeTo('normal', 1); }); $(document).bind('keydown', function(e){ var key = e.which || e.keyCode || e.charCode; switch (key){ case 27: $.litemap.remove(); break; } return false; }); $.litemap.position(); }, position: function(e){ var s = (e) ? e.data.s : this.s; var xh = parseInt($('#ss_x').height(), 10), ww = self.innerWidth || document.documentElement.clientWidth, wh = self.innerHeight || document.documentElement.clientHeight; $('#ss_o').css({height: wh, width: ww, top: 0, left: 0}); $('#out').css({height: wh*s.sh, width: ww*s.sw, top: wh/2-wh*s.sh/2, left: ww/2-ww*s.sw/2}); $('#ss_l').css({top: wh*s.sh/2-s.lh/2, left: ww*s.sw/2-s.lw/2}); if (typeof document.body.style.maxHeight == 'undefined'){ var sx = document.documentElement.scrollLeft, sy = document.documentElement.scrollTop; $('#ss_o').css({position: 'absolute', top: sy, left: sx}); $('#out').css({position: 'absolute', top: wh/2-wh*s.sh/2+sy, left: ww/2-ww*s.sw/2+sx}); $(window).bind('scroll', {s: s}, $.litemap.position); } $(window).bind('resize', {s: s}, $.litemap.position); }, resize: function(src){ if (typeof src != 'undefined'){ var s = this.s; var xh = parseInt($('#ss_x').height(), 10); var sw = parseInt($('#out').width(), 10)-2*(xh+3*s.ns); var sh = parseInt($('#out').height(), 10)-2*(xh+3*s.ns); } }, remove: function(){ $.litemap.a = 0; $(window).unbind('resize').unbind('scroll'); $(document).unbind('keypress'); $('#ss_l').remove(); $('#out').fadeTo('normal', 0, function(){ $('#out').remove(); $('#ss_o').fadeTo('normal', 0, function(){ $('#ss_o').remove(); }); }); } }; })(jQuery);
