details.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. //地图盒子的高度
  2. var windheight=$(window).height();
  3. var navheight=$('.y_puicdh_c').height();
  4. $('.map_details').css({'height':(windheight-navheight)+'px'});
  5. //variable = {lat, lng, zoom, zbar, link, title, message}
  6. var map, old, point, marker, undefined, variable = {};
  7. var parser = /[#&]([^=]+)(?:=([^&]*))?/g;
  8. while(query = parser.exec(location.hash)){
  9. variable[query[1]] = decodeURIComponent(query[2]);
  10. }
  11. document.title = (variable.title ? variable.title + '\u7684' : '') + '\u5730\u7406\u4f4d\u7f6e';
  12. if(typeof $cms_abs == 'undefined')window.$cms_abs = '../';
  13. var canvas = document.getElementById("Mapdetails");
  14. old = variable.lat != undefined && variable.lng != undefined;
  15. point = old ? new BMap.Point(variable.lng,variable.lat) : new BMap.Point(113.33127548857,23.143680171285);
  16. map = new BMap.Map(canvas,{
  17. maptype:BMAP_PERSPECTIVE_MAP,
  18. minZoom:3,
  19. maxZoom:19
  20. });
  21. map.enableScrollWheelZoom();
  22. map.centerAndZoom(point,variable.zoom && variable.zoom.match(/^[3-9]$|^1\d$/) ? parseInt(variable.zoom) : 13);
  23. map.addControl(new BMap.MapTypeControl({type:BMAP_MAPTYPE_CONTROL_DROPDOWN,mapTypes:[BMAP_NORMAL_MAP ,BMAP_SATELLITE_MAP]}));
  24. map.addControl(new BMap.NavigationControl());
  25. if(old){
  26. marker = new BMap.Marker(point,{title : variable.title ? variable.title : ''});
  27. map.addOverlay(marker);
  28. marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
  29. // var label = new BMap.Label(variable.title,{offset:new BMap.Size(20,-10)});
  30. // marker.setLabel(label);
  31. variable.link && marker.addEventListener('click', function(){window.open(variable.link == '_self' ? location.href.replace(/[?#&]link=_self\b/g, '') : variable.link)});
  32. }
  33. if(variable.message){
  34. var infowindow = new BMap.InfoWindow(variable.message,{
  35. title : variable.title ? variable.title : ''
  36. });
  37. marker.addEventListener('click', function(){map.openInfoWindow(infowindow,point);});
  38. map.openInfoWindow(infowindow,point);
  39. }