New file |
| | |
| | | <%@ page contentType="text/html;charset=UTF-8" language="java" %> |
| | | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> |
| | | <!DOCTYPE html> |
| | | <head> |
| | | <meta charset="utf-8"/> |
| | | <title></title> |
| | | <script type="text/javascript" |
| | | src="http://api.map.baidu.com/api?v=2.0&ak=rER1sgBIcQxkfNSlm2wmBGZGgEERrooM"></script> |
| | | <script type="text/javascript" src="/js/jquery.min.js"></script> |
| | | </head> |
| | | <style type="text/css"> |
| | | body, |
| | | html, |
| | | #mapCanvas { |
| | | width: 100%; |
| | | height: 100%; |
| | | overflow: hidden; |
| | | margin: 0; |
| | | z-index: 0; |
| | | font-size: 14px; |
| | | font-family: "微软雅黑"; |
| | | } |
| | | |
| | | .main_body { |
| | | border: 0; |
| | | margin: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | position: relative; |
| | | } |
| | | |
| | | * { |
| | | margin: 0; |
| | | padding: 0; |
| | | list-style: none; |
| | | } |
| | | </style> |
| | | |
| | | <body> |
| | | <div class="main_body"> |
| | | <div id="mapCanvas"></div> <!-- 百度地图 --> |
| | | <!-- 传sensorInfo,regionCode,regionName,monitorPoint,device--> |
| | | <div id="uavTrajectoryParams" style="display: none;"> |
| | | ${requestScope.uavTrajectoryParams} |
| | | </div> |
| | | </div> |
| | | </body> |
| | | </html> |
| | | |
| | | <script type="text/javascript"> |
| | | var moralMap = {}; |
| | | /*var defaultParam = { |
| | | minZoom: 12, |
| | | maxZoom: 20 |
| | | };*/ |
| | | var mapStyle = { |
| | | features: ["road", "building", "water", "land"], // 隐藏地图上的poi |
| | | style: "normal" // 设置地图风格为高端黑 |
| | | }; |
| | | var params = $.parseJSON($("#uavTrajectoryParams").html()); |
| | | moralMap['params'] = params; |
| | | var sensorInfo = params["sensorInfo"]; |
| | | //var map = new BMap.Map("mapCanvas", defaultParam); |
| | | var map = new BMap.Map("mapCanvas", { enableMapClick: false }); |
| | | var trackPoints = []; //用来存放从后台获取到的所有历史轨迹点的数据 |
| | | if (sensorInfo.length > 0) { |
| | | $.each(sensorInfo, function (item, value) { |
| | | trackPoints.push(new BMap.Point(value.e76, value.e77)); |
| | | }) |
| | | for (var i = 0; i < trackPoints.length - 1; i++) { |
| | | var startPoint = trackPoints[i]; |
| | | var endPoint = trackPoints[i + 1]; |
| | | showPath(startPoint, endPoint); |
| | | } |
| | | $.each(sensorInfo, function (item, value) { |
| | | if(item==0){ |
| | | map.centerAndZoom(new BMap.Point(value.e76, value.e77), 17); |
| | | } |
| | | var flyingPoint = new BMap.Point(value.e76, value.e77); |
| | | var marker = new BMap.Marker(flyingPoint); |
| | | var infoWindow = new BMap.InfoWindow("时间:"+value.uavDate |
| | | +"</br> 经度:"+value.e76 |
| | | +"</br> 纬度:"+value.e77 |
| | | +"</br> 高度:"+value.e78 |
| | | +"</br> 速度x:"+value.e79 |
| | | +"</br> 速度y:"+value.e80 |
| | | +"</br> 速度z:"+value.e81, |
| | | { enableMessage: false, width: 30, height: 130 }); |
| | | marker.addEventListener("click", function () |
| | | { |
| | | this.openInfoWindow(infoWindow); |
| | | }); |
| | | map.addOverlay(marker); |
| | | var label = new BMap.Label(item + 1, {position: flyingPoint, offset: item<=8?new BMap.Size(-5, -22):new BMap.Size(-9, -22)}); |
| | | label.setStyle({ |
| | | color: "#fff", |
| | | fontSize: "10px", |
| | | backgroundColor: "0.05", |
| | | border: "0", |
| | | fontWeight: "bold" |
| | | }); |
| | | map.addOverlay(label); |
| | | }); |
| | | } |
| | | |
| | | var longitude; |
| | | var latitude; |
| | | var point; |
| | | if (sensorInfo.length == 0) { |
| | | longitude = 120.987287; |
| | | latitude = 31.391562; |
| | | point = new BMap.Point(longitude, latitude); |
| | | map.centerAndZoom(point, 17); |
| | | } |
| | | map.setCurrentCity("昆山"); |
| | | map.setMapStyle(mapStyle); |
| | | map.enableScrollWheelZoom(true); // 开启鼠标滚轮缩放 |
| | | var navigation = new BMap.NavigationControl({ |
| | | anchor: BMAP_ANCHOR_BOTTOM_RIGHT, |
| | | type: BMAP_NAVIGATION_CONTROL_LARGE |
| | | }); |
| | | map.addControl(navigation); |
| | | map.addControl(new BMap.ScaleControl()); |
| | | |
| | | function showPath(startPoint, endPoint) { |
| | | var walking = new BMap.WalkingRoute(map, {renderOptions:{map: map, autoViewport: true}, |
| | | onMarkersSet:function(routes) { |
| | | map.removeOverlay(routes[0].marker); //删除起点 |
| | | map.removeOverlay(routes[1].marker);//删除终点 |
| | | } |
| | | }); |
| | | var polyline = new BMap.Polyline([ |
| | | startPoint, |
| | | endPoint |
| | | ], |
| | | {strokeColor: "green", strokeWeight: 2, strokeOpacity: 1} |
| | | ); |
| | | map.addOverlay(polyline);// 画两点间线 |
| | | } |
| | | |
| | | </script> |