jquery.baidumap.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. function baidumap(com_companyname,com_address,com_map_x,com_map_y,com_map_zoom,c_map_x,c_map_y,c_map_zoom){
  2. var map = new BMap.Map("container");
  3. var infoWindow = '';
  4. var overlays = [];
  5. var overlaycomplete = function(e){
  6. clearAll();
  7. overlays.push(e.overlay);
  8. var point = new BMap.Point(e.overlay.point.lng, e.overlay.point.lat);
  9. map.centerAndZoom(point, com_map_zoom);
  10. map.openInfoWindow(infoWindow,point);
  11. map.setCenter(point);
  12. var geoc = new BMap.Geocoder();
  13. geoc.getLocation(point, function(rs){
  14. var addComp = rs.addressComponents;
  15. G('suggestId').value = addComp.province+addComp.city+addComp.district+addComp.street+addComp.streetNumber;
  16. infoWindowSet();
  17. });
  18. G("map_x").value=e.overlay.point.lng;
  19. G("map_y").value= e.overlay.point.lat;
  20. G("map_zoom").value= map.getZoom();
  21. };
  22. openDraw();
  23. function openDraw(){
  24. //实例化鼠标绘制工具
  25. var drawingManager = new BMapLib.DrawingManager(map, {
  26. isOpen: true, //是否开启绘制模式
  27. enableDrawingTool: false, //是否显示工具栏
  28. drawingToolOptions: {
  29. anchor: BMAP_ANCHOR_TOP_RIGHT, //位置
  30. offset: new BMap.Size(5, 5), //偏离值
  31. drawingTypes : [
  32. BMAP_DRAWING_MARKER
  33. ]
  34. },
  35. });
  36. drawingManager.setDrawingMode(BMAP_DRAWING_MARKER);
  37. //添加鼠标绘制工具监听事件,用于获取绘制结果
  38. drawingManager.addEventListener('overlaycomplete', overlaycomplete);
  39. }
  40. function clearAll() {
  41. for(var i = 0; i < overlays.length; i++){
  42. map.removeOverlay(overlays[i]);
  43. }
  44. map.removeOverlay(qs_marker);
  45. overlays.length = 0
  46. }
  47. function setPlace(){
  48. map.clearOverlays(); //清除地图上所有覆盖物
  49. function myFun(){
  50. var pp = local.getResults().getPoi(0).point; //获取第一个智能搜索的结果
  51. map.centerAndZoom(pp, 18);
  52. map.addOverlay(new BMap.Marker(pp)); //添加标注
  53. G("map_x").value=pp.lng;
  54. G("map_y").value= pp.lat;
  55. G("map_zoom").value= map.getZoom();
  56. }
  57. var local = new BMap.LocalSearch(map, { //智能搜索
  58. onSearchComplete: myFun
  59. });
  60. local.search(G('suggestId').value);
  61. openDraw();
  62. }
  63. $("#search").on('click',function(){
  64. if(G('suggestId').value==''){
  65. disapperTooltip("remind", "请输入详细地址");return false;
  66. }
  67. setPlace();
  68. });
  69. function G(id) {
  70. return document.getElementById(id);
  71. }
  72. var ac = new BMap.Autocomplete( //建立一个自动完成的对象
  73. {
  74. "input" : "suggestId",
  75. "location" : map
  76. });
  77. ac.setInputValue(com_address);
  78. ac.addEventListener("onconfirm", function(e) { //鼠标点击下拉列表后的事件
  79. // alert(1);
  80. var _value = e.item.value;
  81. myValue = _value.province + _value.city + _value.district + _value.street + _value.business;
  82. G("searchResultPanel").innerHTML ="onconfirm<br />index = " + e.item.index + "<br />myValue = " + myValue;
  83. G('suggestId').value = myValue;
  84. });
  85. //假如已经设置了标注
  86. function infoWindowSet(){
  87. var opts = {
  88. width : 300, // 信息窗口宽度
  89. height: 60, // 信息窗口高度
  90. title : com_companyname // 信息窗口标题
  91. }
  92. infoWindow = new BMap.InfoWindow("<span style='font-size:12px;'>(提示:任意点击地图或通过精确搜索选择您的位置)</span>", opts);
  93. }
  94. infoWindowSet();
  95. //假如有设置的,显示参数
  96. if(com_map_x && com_map_y && com_map_zoom>0){
  97. var point = new BMap.Point(com_map_x, com_map_y);
  98. map.centerAndZoom(point, com_map_zoom);
  99. var qs_marker = new BMap.Marker(point); // 创建标注
  100. map.addOverlay(qs_marker);
  101. map.openInfoWindow(infoWindow,point);
  102. map.setCenter(point);
  103. G("map_x").value=com_map_x;
  104. G("map_y").value= com_map_y;
  105. G("map_zoom").value= com_map_zoom;
  106. }else{
  107. var point = new BMap.Point(c_map_x,c_map_y);
  108. map.centerAndZoom(point, c_map_zoom);
  109. map.setCenter(point);
  110. }
  111. map.addControl(new BMap.NavigationControl());//添加鱼骨
  112. map.enableScrollWheelZoom();//启用滚轮放大缩小,默认禁用。
  113. }