From d6747b2f8c31d2e879d4d59e19c9410c13c35228 Mon Sep 17 00:00:00 2001 From: ZhuDongming <773644075@qq.com> Date: Wed, 05 Jun 2019 10:55:11 +0800 Subject: [PATCH] 增加溯源查询后返回页面 --- src/main/webapp/view/traceability.jsp | 163 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 163 insertions(+), 0 deletions(-) diff --git a/src/main/webapp/view/traceability.jsp b/src/main/webapp/view/traceability.jsp new file mode 100644 index 0000000..99d56d7 --- /dev/null +++ b/src/main/webapp/view/traceability.jsp @@ -0,0 +1,163 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@page isELIgnored="false" %> +<% + String version ="1.000004"; + response.setHeader("Cache-Control","no-store"); + response.setHeader("Pragrma","no-cache"); + response.setDateHeader("Expires",0); +%> +<!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> + <script type="text/javascript"> + if(typeof (JSON) == 'undefined'){ + $.getScript("js/json2.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; + } + .tools_box{ + position: absolute; + height: 120px; + width: 400px; + right: 1px; + top: 20px; + z-index: 1; + } +</style> + +<body> + <div class="main_body"> + <div id="mapCanvas"></div> <!-- ������������ --> + <!-- ���sensorInfo,regionCode,regionName,monitorPoint,device--> + <div id="traceabilityParams" style="display: none;"> + ${requestScope.traceabilityParams} + </div> + </div> +</body> +</html> + +<script> + var moralMap={}; + var defaultParam = { + minZoom: 12, + maxZoom: 20 + }; + var mapStyle = { + features: ["road", "building", "water", "land"], // ������������������poi + style: "normal" // ������������������������������ + }; + var params = $.parseJSON($("#traceabilityParams").html()); + moralMap['params'] = params; + var sensorInfo=params["sensorInfo"]; + var regionName=params["regionName"]; + var longitude=params["device"]["longitude"]; + var latitude=params["device"]["latitude"]; + var regoinNameNew= regionName.split(" "); + var cityName = regoinNameNew.length>1?regoinNameNew[1]:regoinNameNew[0]; + var map = new BMap.Map("mapCanvas",defaultParam); + map.setCurrentCity(cityName); + map.setMapStyle(mapStyle); + map.enableScrollWheelZoom(true); // ������������������������ + var navigation = new BMap.NavigationControl({ + anchor: BMAP_ANCHOR_BOTTOM_RIGHT, + type: BMAP_NAVIGATION_CONTROL_LARGE + }); + map.addControl(navigation); // ������������������ + var point = new BMap.Point(longitude, latitude);// ������������������������������������ + map.centerAndZoom(point, 18); + var marker = new BMap.Marker(point); // ������������ + map.addOverlay(marker); + var polyline = new BMap.Polyline([ + new BMap.Point(longitude, latitude), + new BMap.Point(longitude+0.005, latitude+0.005) + ], + {strokeColor:"blue", strokeWeight:1, strokeOpacity:0.5} + ); + map.addOverlay(polyline);// ��������������� + // ��������������������� + function addArrow(polyline,length,angleValue){ + var linePoint=polyline.getPath();// ��������������� + var arrowCount=linePoint.length; + for(var i =1;i<arrowCount;i++){ // ������������������������ + var pixelStart=map.pointToPixel(linePoint[i-1]); + var pixelEnd=map.pointToPixel(linePoint[i]); + var angle=angleValue;// ������������������������ + var r=length; // r/Math.sin(angle)������������������ + var delta=0; // ��������������������������������� + var param=0; // ������������������ + var pixelTemX,pixelTemY,poMiddleX,poMiddleY;// ��������������� + var pixelX,pixelY,pixelX1,pixelY1;// ��������������� + poMiddleX=(pixelEnd.x+pixelStart.x)/2; + poMiddleY=(pixelEnd.y+pixelStart.y)/2; + if(poMiddleX-pixelStart.x==0){ // ������������������ + pixelTemX=poMiddleX; + if(poMiddleY>pixelStart.y){ + pixelTemY=poMiddleY-r; + }else{ + pixelTemY=poMiddleY+r; + } + // ��������������������������������������������������������������������������������������� + pixelX=pixelTemX-r*Math.tan(angle); + pixelX1=pixelTemX+r*Math.tan(angle); + pixelY=pixelY1=pixelTemY; + }else{ // ��������������� + delta=(poMiddleY-pixelStart.y)/(poMiddleX-pixelStart.x); + param=Math.sqrt(delta*delta+1); + if((poMiddleX-pixelStart.x)<0){ // ������������������ + pixelTemX=poMiddleX+ r/param; + pixelTemY=poMiddleY+delta*r/param; + }else{ // ������������������ + pixelTemX=poMiddleX- r/param; + pixelTemY=poMiddleY-delta*r/param; + } + // ��������������������������������������������������������������������������������������� + pixelX=pixelTemX+ Math.tan(angle)*r*delta/param; + pixelY=pixelTemY-Math.tan(angle)*r/param; + pixelX1=pixelTemX- Math.tan(angle)*r*delta/param; + pixelY1=pixelTemY+Math.tan(angle)*r/param; + } + var pointArrow=map.pixelToPoint(new BMap.Pixel(pixelX,pixelY)); + var pointArrow1=map.pixelToPoint(new BMap.Pixel(pixelX1,pixelY1)); + var pointMiddle=map.pixelToPoint(new BMap.Pixel(poMiddleX,poMiddleY)); + var Arrow = new BMap.Polyline([pointArrow,pointMiddle,pointArrow1], + {strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5}); + map.addOverlay(Arrow); + } + }; + addArrow(polyline,40,Math.PI/7); + // ������������������ + var icon1 = new BMap.Icon("/img/ico00.png",new BMap.Size(50,50)); + var mark1 = new BMap.Marker(new BMap.Point(longitude,latitude),{icon:icon1}); + map.addOverlay(mark1); + var mark2 = new BMap.Marker(new BMap.Point(longitude+0.005,latitude+0.005),{icon:icon1}); + map.addOverlay(mark2); + +</script> -- Gitblit v1.8.0