drawMap.js 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. /**
  2. * 地图渲染高亮区域
  3. */
  4. var mapData = [
  5. {
  6. "name":"西部区域",
  7. "peopleNum":80,
  8. "chargeName":"张三",
  9. "timely ":"80%",
  10. "complete":"98%",
  11. "lng":116.30357809450051,
  12. "lat":39.90696803762701
  13. },{
  14. "name":"东部区域",
  15. "peopleNum":102,
  16. "chargeName":"李四",
  17. "timely ":"90%",
  18. "complete":"92%",
  19. "lng":116.45429678343832,
  20. "lat":39.91039161216257
  21. },{
  22. "name":"中部区域",
  23. "peopleNum":110,
  24. "chargeName":"王五",
  25. "timely ":"86%",
  26. "complete":"96%",
  27. "lng":116.39198370361552,
  28. "lat":39.914999999999985
  29. },{
  30. "name":"南部区域",
  31. "peopleNum":76,
  32. "chargeName":"赵四",
  33. "timely ":"88%",
  34. "complete":"92%",
  35. "lng":116.39318533325387,
  36. "lat":39.8459734273028
  37. },{
  38. "name":"北部区域",
  39. "peopleNum":102,
  40. "chargeName":"王二",
  41. "timely ":"92%",
  42. "complete":"96%",
  43. "lng":116.39267034912311,
  44. "lat":39.9697285689225
  45. }
  46. ];
  47. function drawMap(result,map) {
  48. var overlays = [];
  49. result.forEach(function (item,index) {
  50. if(item["lng"] && item["lat"]){
  51. var point = new BMap.Point(item["lng"],item["lat"]);
  52. var marker = new BMap.Marker(point,{"data":item,"style":"highlightIcon","selectedStyle":"selectIcon"});
  53. overlays.push(marker);
  54. }
  55. });
  56. map.addOverlays(overlays,function (event) {
  57. overlays.forEach(function (item,index) {
  58. map.changeOverlayStyle(item,"highlightIcon");
  59. });
  60. var clickOverlay = map.getOverlayByEvent(event);
  61. map.changeOverlayStyle(clickOverlay,"selectIcon");
  62. //信息窗口
  63. var infoWindowPoint = clickOverlay.point;
  64. // map.setCenter(infoWindowPoint);
  65. var infoHtml =
  66. '<div class="info-container">' +
  67. '<div class="info-container-title">' +
  68. '<span>'+clickOverlay["data"]["NAME"]+'</span>' +
  69. '</div>' +
  70. '<div class="info-container-people">' +
  71. '<span>人员总数:</span><span>'+clickOverlay["data"]["PEOPLENUM"]+'</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span>负责人:</span><span>'+clickOverlay["data"]["CHARGENAME"]+'</span>'+
  72. '</div>' +
  73. '<div class="info-container-speed">' +
  74. '<div class="info-container-speed-content">' +
  75. '<span class="info-container-speed-content-inside-1"></span>'+
  76. '<span class="info-container-speed-content-inside-1-num">'+clickOverlay["data"]["TIMELY"]+'</span>'+
  77. '</div>' +
  78. '<div class="info-container-speed-content">' +
  79. '<span class="info-container-speed-content-inside-2"></span>'+
  80. '<span class="info-container-speed-content-inside-2-num">'+clickOverlay["data"]["COMPLETE"]+'</span>'+
  81. '</div>' +
  82. '</div>' +
  83. '</div>';
  84. var infoWindow=new BMap.InfoWindow(infoHtml);
  85. map.openInfoWindow(infoWindow,infoWindowPoint);
  86. $(".info-container-speed-content-inside-1").animate({
  87. width:clickOverlay["data"]["TIMELY"]
  88. },2000);
  89. $(".info-container-speed-content-inside-2").animate({
  90. width:clickOverlay["data"]["COMPLETE"]
  91. },2000);
  92. });
  93. }