百度地图车辆历史轨迹
一、日期控件:
链接: https://pan.baidu.com/s/1NWTKTCbA4I9iwY_Y6CQM0g 提取码: x9pp 复制这段内容后打开百度网盘手机App,操作更方便哦
二、jsp代码:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>车辆历史轨迹</title>
<meta name="viewport" content="width=device-width, minimum-scale=1, maximum-scale=1">
<script src="http://apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script>
<!--mobiscroll日期插件-->
<link href="../mobiscroll_date.css" rel="stylesheet" type="text/css" />
<script src="../core/js/date/mobiscroll_date.js" type="text/javascript"></script>
<script src="../core/js/date/mobiscroll.js" type="text/javascript"></script>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak='创建应用的AK'"></script>
<style type="text/css">
html{
height:100%
}
body{
height:100%;
margin:0px;
padding:0px
}
#allmap {
margin: 8px;
width: 95%;
height: 70%;
overflow: hidden;
}
.searchdiv{
height: 110px;
background-color: #f5f5f5;
margin: 10px;
border-radius: 8px;
text-align: center;
}
.searchdiv .search {
font-size: 16px;
padding-left: 10px;
padding-top: 5px;
}
.searchdiv .search .searchcarhistory {
height: 30px;
width: 240px;
margin-top: 5px;
}
input{
width: 150px;
height: 25px;
border-radius: 5px;
outline-style: none;
border: 1px solid #ccc;
font-size: 16px;
font-family: "微软雅黑";
}
label {
font-size: 16px;
}
#toptitle{
background-color:#2695D0;
padding-top: 10px;
padding-bottom: 10px;
width: 100%;
color:#ffffff;
}
#toptitle .htitle{
font-size: 20px;
font-weight: bold;
margin: 0;
padding: 0;
text-align: center;
}
</style>
<script>
var _carId = '车辆Id';
var now = new Date();
var currYear = now.getFullYear();
var currMonth = now.getMonth() + 1;
var currDay = now.getDate();
var currHours = now.getHours(); //获取当前小时数(0-23)
var currMinutes = now.getMinutes(); //获取当前分钟数(0-59)
//var currSeconds = now.getSeconds(); //获取当前秒数(0-59)
var _begintime = "";
var _endtime = "";
//mobiScroll插件选项
var opt1 = {
preset : 'datetime', //日期,可选:date\datetime\time\tree_list\image_text\select
theme : 'android-ics light', //皮肤样式,可选:default\android\android-ics light\android-ics\ios\jqm\sense-ui\wp light\wp
display : 'modal', //显示方式 ,可选:modal\inline\bubble\top\bottom
mode : 'scroller', //日期选择模式,可选:scroller\clickpick\mixed
lang : 'zh',
dateFormat:'yy-mm-dd',
setText : '确认', //确认按钮名称
cancelText : '取消', //取消按钮名籍我
dateOrder : 'yyyymmdd', //面板中日期排列格式
dayText : '日',
monthText : '月',
yearText : '年', //面板中年月日文字
hourText: '时',
minuteText: '分',
showNow : false,
nowText : "今",
endYear: currYear +100, //结束年份
//minDate: new Date(currYear, currMonth - 1, currDay - 7),
maxDate: new Date(currYear, currMonth - 1, currDay+1),
onSelect:function(textVale,inst){ //选中时触发事件
$("#begintime").val(textVale);
},
onClose:function(textVale,inst){ //插件效果退出时执行 inst:表示点击的状态反馈:set/cancel
}
};
var opt2 = {
preset : 'datetime', //日期,可选:date\datetime\time\tree_list\image_text\select
theme : 'android-ics light', //皮肤样式,可选:default\android\android-ics light\android-ics\ios\jqm\sense-ui\wp light\wp
display : 'modal', //显示方式 ,可选:modal\inline\bubble\top\bottom
mode : 'scroller', //日期选择模式,可选:scroller\clickpick\mixed
lang : 'zh',
dateFormat:'yy-mm-dd',
setText : '确认', //确认按钮名称
cancelText : '取消', //取消按钮名籍我
dateOrder : 'yyyymmdd', //面板中日期排列格式
dayText : '日',
monthText : '月',
yearText : '年', //面板中年月日文字
hourText: '时',
minuteText: '分',
showNow : false,
nowText : "今",
endYear: currYear +100, //结束年份
//minDate: new Date(currYear, currMonth - 1, currDay - 7),
maxDate: new Date(currYear, currMonth - 1, currDay+1),
onSelect:function(textVale,inst){ //选中时触发事
$("#endtime").val(textVale);
},
onClose:function(textVale,inst){ //插件效果退出时执行 inst:表示点击的状态反馈:set/cancel
}
};
function GetDateStr(AddDayCount) {
var dd = new Date();
dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期
var y = dd.getFullYear();
var m = dd.getMonth()+1;//获取当前月份的日期
var d = dd.getDate();
if (m < 10) m = "0" + m;
if (d < 10) d = "0" + d;
return y+"-"+m+"-"+d+" 00:00";
}
function GetToDateStr() {
var dd = new Date();
var y = dd.getFullYear();
var m = dd.getMonth()+1;//获取当前月份的日期
var d = dd.getDate();
var h = now.getHours(); //获取当前小时数(0-23)
var s = now.getMinutes(); //获取当前分钟数(0-59)
//var currSeconds = now.getSeconds(); //获取当前秒数(0-59)
if (m < 10) m = "0" + m;
if (d < 10) d = "0" + d;
if (h < 10) h = "0" + h;
if (s < 10) s = "0" + s;
return y+"-"+m+"-"+d+" "+h+":"+s;
}
function _search() {
_starttime = $("#begintime").val();
_endtime = $("#endtime").val();
_queryParam = {
carId: '车辆id',
startTime: _starttime,
endTime: _endtime
}
getmaphistory(_queryParam);
}
</script>
</head>
<body>
<div id="toptitle">
<h1 class="htitle">车辆历史轨迹</h1>
</div>
<div class="applydiv" id="applydiv">
<div class="searchdiv" id="searchdiv">
<div class="search">
<label for="begintime">开始时间:</label>
<input type="text" id="begintime" name="begintime"/>
</div>
<div class="search">
<label for="endtime">结束时间:</label>
<input type="text" id="endtime" name="endtime"/>
</div>
<div class="search">
<input type="button" class="searchcarhistory" id="searchcarhistory" value="查询" onclick="_search()">
</div>
</div>
</div>
<div id="allmap"></div>
<script>
//经度
var lon = 0;
//纬度
var lat = 0;
var _address = "";
// 百度地图API功能
var map = new BMap.Map("allmap"); // 创建Map实例
map.enableScrollWheelZoom(true); //启用滚轮放大缩小,默认禁用
//map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
map.centerAndZoom(new BMap.Point(114.08997, 22.54502), 10); // 初始化地图,设置中心点坐标和地图级别
//添加地图类型控件
map.addControl(new BMap.ScaleControl()); // 添加默认比例尺控件
map.addControl(new BMap.ScaleControl({anchor: BMAP_ANCHOR_TOP_LEFT})); // 左上
map.addControl(new BMap.ScaleControl({anchor: BMAP_ANCHOR_TOP_RIGHT})); // 右上
map.addControl(new BMap.ScaleControl({anchor: BMAP_ANCHOR_BOTTOM_LEFT})); // 左下
map.addControl(new BMap.ScaleControl({anchor: BMAP_ANCHOR_BOTTOM_RIGHT})); // 右下
map.addControl(new BMap.NavigationControl()); //添加默认缩放平移控件
map.addControl(new BMap.NavigationControl({anchor: BMAP_ANCHOR_TOP_RIGHT, type: BMAP_NAVIGATION_CONTROL_SMALL})); //右上角,仅包含平移和缩放按钮
map.addControl(new BMap.NavigationControl({anchor: BMAP_ANCHOR_BOTTOM_LEFT, type: BMAP_NAVIGATION_CONTROL_PAN})); //左下角,仅包含平移按钮
map.addControl(new BMap.NavigationControl({anchor: BMAP_ANCHOR_BOTTOM_RIGHT, type: BMAP_NAVIGATION_CONTROL_ZOOM})); //右下角,仅包含缩放按钮
$(function(){
$("#begintime").mobiscroll(opt1);
$("#begintime").val(GetDateStr(0));
$("#endtime").mobiscroll(opt2);
$("#endtime").val(GetToDateStr());
_queryParam = {
carId: '车辆id',
startTime: GetDateStr(0),
endTime: GetToDateStr()
}
getmaphistory(_queryParam);
});
function getmaphistory(_queryParam){
map.clearOverlays(); //清除所有覆盖物
$.ajax({
url:'访问路径',
type: "post",
timeout: 30000,
dataType: "json",
data : _queryParam,
success : function(result) {
if(result.code == '1'){
var res = result.data.data;
var points = [];
//console.log("经纬度:"+res)
if(res.length > 0){
map.centerAndZoom(new BMap.Point(res[0].lonc, res[0].latc), 10);
for (var i = 0; i < res.length; i++) {
lat = res[i].latc; //获取纬度
lon = res[i].lonc; //获取经度
points[i]=new BMap.Point(lon, lat);
}
var polyline = new BMap.Polyline(points, {strokeColor:"red", strokeWeight:3, strokeOpacity:1.0}); //创建折线
map.addOverlay(polyline);
}else{
alert("该时间段没有行车记录!")
}
} else{
alert(result.desc)
}
},
error:function(xmlhttp){
alert("网络异常!");
}
});
}
</script>
</body>
</html>