Index.cshtml 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. @{
  2. ViewBag.Title = "百度地图";
  3. Layout = "~/Views/Shared/_BaiduMap.cshtml";
  4. }
  5. <style type="text/css">
  6. .wwtab {
  7. width: 660px;
  8. font-size:10pt;
  9. margin-top: 20px;
  10. table-layout:fixed;
  11. background-color: gray;
  12. }
  13. .wwtab td {
  14. background-color: white;
  15. height: 20px;
  16. width: 120px;
  17. text-align:left;
  18. padding: 5px;
  19. word-break:keep-all; /* 不换行 */
  20. white-space:nowrap; /* 不换行 */
  21. overflow:hidden; /* 内容超出宽度时隐藏超出部分的内容 */
  22. text-overflow:ellipsis;
  23. }
  24. .wwtab td:nth-child(odd) {
  25. background: #d8ebfa;
  26. width:100px;
  27. }
  28. .wwtab a {
  29. cursor: pointer;
  30. }
  31. </style>
  32. <div class="main-div">
  33. <div id='allmap' style='width: 100%; height: 100%; position: absolute;'></div>
  34. <div id="titleDiv" style="position:absolute; left:0px; top:0px; display:none;font-size:16px"></div>
  35. <div class="toolbar" style="position: absolute; right: 50px; top: 20px">
  36. <div style="height: 40px;width:100px;">
  37. <a id="lr-replace" style=" height: 40px;width:100px; border-radius: 8px; padding: 10px; padding-top: 5px; padding-bottom: 5px; color: white; background-color: #0094ff;cursor: pointer;" class="btn btn-primary" onclick="reload();"><i class="fa fa-refresh"></i>&nbsp;刷新地图</a>
  38. </div>
  39. </div>
  40. </div>
  41. <script>
  42. var map = new BMap.Map("allmap");
  43. var geoc = new BMap.Geocoder(); //地址解析对象
  44. var point = new BMap.Point("@System.Configuration.ConfigurationManager.AppSettings["LngAndLat"].Split('|')[0]", "@System.Configuration.ConfigurationManager.AppSettings["LngAndLat"].Split('|')[1]");
  45. map.centerAndZoom(point, 14); // 中心点
  46. map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
  47. var top_left_control = new BMap.ScaleControl({ anchor: BMAP_ANCHOR_TOP_LEFT });// 左上角,添加比例尺
  48. var top_left_navigation = new BMap.NavigationControl(); //左上角,添加默认缩放平移控件
  49. map.addControl(top_left_control);
  50. map.addControl(top_left_navigation);
  51. $(function () {
  52. getStationInfo();
  53. setInterval(getStationInfo, 60000);
  54. })
  55. //获取地图信息
  56. function getStationInfo() {
  57. map.clearOverlays();
  58. $.ajax({
  59. url: "/WaterWellManage/WaterWellMap/GetStationInfo",
  60. type: "get",
  61. cache: false,
  62. dataType: 'json',
  63. success: function (datas) {
  64. if (datas.length > 0) {
  65. for (var i = 0; i < datas.length; i++) {
  66. addMark(datas[i]);
  67. }
  68. }
  69. },
  70. error: function (XMLHttpRequest, textStatus, errorThrown) {
  71. alert("与服务器断开连接,请检查服务器是否关闭!");
  72. }
  73. });
  74. }
  75. // 添加标记
  76. function addMark(data) {
  77. // 添加icon标注
  78. var myIcon = new BMap.Icon("http://api.map.baidu.com/img/markers.png", new BMap.Size(23, 25), {
  79. offset: new BMap.Size(11, 25), // 指定定位位置
  80. imageOffset: new BMap.Size(0, 0 - 11 * 25) // 设置图片偏移
  81. });
  82. var point = new BMap.Point(data.Lng, data.Lat);
  83. var marker = new BMap.Marker(point, { icon: myIcon });
  84. map.addOverlay(marker);
  85. // 添加文字标注
  86. // 获取文字长度
  87. $("#titleDiv").html(data.WaterWellName);
  88. var labelWidth = $("#titleDiv").width();
  89. var opts = {
  90. position: point, // 指定文本标注所在的地理位置
  91. offset: new BMap.Size(-(labelWidth / 2) + 6, -25) //设置文本偏移量
  92. }
  93. var label = new BMap.Label(data.WaterWellName, opts); // 创建文本标注对象
  94. label.setStyle({
  95. color: "red",
  96. fontSize: "16px",
  97. fontFamily: "微软雅黑",
  98. borderWidth: 1,
  99. borderColor: 'red',
  100. backgroundColor: 'white',
  101. width: 200,
  102. cursor: "pointer"
  103. });
  104. marker.setLabel(label);
  105. // 设置事件
  106. var str = '<div>'
  107. str = '<table class="wwtab" border="0" cellspacing="1" cellpadding="0" style="font-size:10pt;"><tbody>'
  108. str += '<tr>'
  109. str += '<td class="alt">水源井名称</td><td><a title="' + data.WaterWellName + '">' + data.WaterWellName + '</a></td>'
  110. str += '<td class="alt">采集时间</td><td><a title="' + (data.GetDateTime == null ? "--" : data.GetDateTime) + '">' + (data.GetDateTime == null ? "--" : data.GetDateTime) + '</a></td>'
  111. str += '<td class="alt">有功电能</td><td><a title="' + (data.ActiveElectricalEnergy == null ? "--" : data.ActiveElectricalEnergy) + '">' + (data.ActiveElectricalEnergy == null ? "--" : data.ActiveElectricalEnergy) + '</a></td>'
  112. str += '</tr>'
  113. str += '<tr>'
  114. str += '<td class="alt">A项电压</td><td><a title="' + (data.VoltageA == null ? "--" : data.VoltageA) + '">' + (data.VoltageA == null ? "--" : data.VoltageA) + '</a></td>'
  115. str += '<td class="alt">B项电压</td><td><a title="' + (data.VoltageB == null ? "--" : data.VoltageB) + '">' + (data.VoltageB == null ? "--" : data.VoltageB) + '</a></td>'
  116. str += '<td class="alt">C项电压</td><td><a title="' + (data.VoltageC == null ? "--" : data.VoltageC) + '">' + (data.VoltageC == null ? "--" : data.VoltageC) + '</a></td>'
  117. str += '</tr>'
  118. str += '<tr>'
  119. str += '<td class="alt">A项电流</td><td><a title="' + (data.CurrentA == null ? "--" : data.CurrentA) + '">' + (data.CurrentA == null ? "--" : data.CurrentA) + '</a></td>'
  120. str += '<td class="alt">B项电流</td><td><a title="' + (data.CurrentB == null ? "--" : data.CurrentB) + '">' + (data.CurrentB == null ? "--" : data.CurrentB) + '</a></td>'
  121. str += '<td class="alt">C项电流</td><td><a title="' + (data.CurrentC == null ? "--" : data.CurrentC) + '">' + (data.CurrentC == null ? "--" : data.CurrentC) + '</a></td>'
  122. str += '</tr>'
  123. str += '<tr>'
  124. str += '<td class="alt">净累计流量</td><td><a title="' + (data.NetAccumulatedCurrent == null ? "--" : data.NetAccumulatedCurrent) + '">' + (data.NetAccumulatedCurrent == null ? "--" : data.NetAccumulatedCurrent) + '</a></td>'
  125. str += '<td class="alt">压力</td><td><a title="' + (data.Pressure == null ? "--" : data.Pressure) + '">' + (data.Pressure == null ? "--" : data.Pressure) + '</a></td>'
  126. str += '<td class="alt">瞬时流量</td><td><a title="' + (data.InstantaneousFlow == null ? "--" : data.InstantaneousFlow) + '">' + (data.InstantaneousFlow == null ? "--" : data.InstantaneousFlow) + '</a></td>'
  127. str += '</tr>'
  128. str += '<tr>'
  129. str += '<td class="alt">浊度</td><td><a title="' + (data.Turbidity == null ? "--" : data.Turbidity) + '">' + (data.Turbidity == null ? "--" : data.Turbidity) + '</a></td>'
  130. str += '<td class="alt">温度</td><td><a title="' + (data.Temperature == null ? "--" : data.Temperature) + '">' + (data.Temperature == null ? "--" : data.Temperature) + '</a></td>'
  131. str += '<td class="alt">液位高度</td><td><a title="' + (data.HeightOfLiquidLevel == null ? "--" : data.HeightOfLiquidLevel) + '">' + (data.HeightOfLiquidLevel == null ? "--" : data.HeightOfLiquidLevel) + '</a></td>'
  132. str += '</tr>'
  133. str += '<tr>'
  134. str += '<td class="alt">泵频率</td><td><a title="' + (data.Frequency == null ? "--" : data.Frequency) + '">' + (data.Frequency == null ? "--" : data.Frequency) + '</a></td>'
  135. str += '<td class="alt">泵运行状态</td><td><a>' + (data.RunningState == '0' ? "停止" : data.RunningState == '1' ? '启动' : data.RunningState == '2' ? '故障' : '--') + '</a></td>'
  136. str += '<td class="alt">泵故障描述</td><td><a title="' + (data.RunningStateDiscription == null ? "--" : data.RunningStateDiscription) + '">' + (data.RunningStateDiscription == null ? "--" : data.RunningStateDiscription) + '</a></td>'
  137. str += '</tr>'
  138. str += '<tr>'
  139. str += '<td class="alt">软启动器状态</td><td><a>' + (data.SoftStarterFault == '0' ? "正常" : data.SoftStarterFault == '1' ? '故障' : '--') + '</a></td>'
  140. str += '<td class="alt">软启动器故障描述</td><td><a title="' + (data.SoftStarterFaultDiscription == null ? "--" : data.SoftStarterFaultDiscription) + '">' + (data.SoftStarterFaultDiscription == null ? "--" : data.SoftStarterFaultDiscription) + '</a></td>'
  141. str += '<td class="alt">热继电器跳闸状态</td><td><a>' + (data.ThermalRelayTripFault == '0' ? "正常" : data.ThermalRelayTripFault == '1' ? '故障' : '--') + '</a></td>'
  142. str += '</tr>'
  143. str += '<tr>'
  144. str += '<td class="alt">热继电器跳闸故障描述</td><td><a title="' + (data.ThermalRelayTripFaultDiscription == null ? "--" : data.ThermalRelayTripFaultDiscription) + '">' + (data.ThermalRelayTripFaultDiscription == null ? "--" : data.ThermalRelayTripFaultDiscription) + '</a></td>'
  145. str += '<td class="alt">箱门状态</td><td><a>' + (data.BoxDoorAlarm == '0' ? "开" : data.BoxDoorAlarm == '1' ? '关' : '--') + '</a></td>'
  146. str += '<td class="alt"></td><td><a></a></td>'
  147. str += '</tr>'
  148. str += '</tbody></table>'
  149. str += '</div>'
  150. var infoWindow = new BMap.InfoWindow(str, { enableMessage: false });
  151. marker.addEventListener('click', function () {
  152. this.openInfoWindow(infoWindow);
  153. });
  154. }
  155. </script>