|
@@ -1,4 +1,7 @@
|
|
|
(function () {
|
|
|
+ var infoWindow;
|
|
|
+ var lnglat;
|
|
|
+ var mainMap;
|
|
|
var page = {
|
|
|
init: function ($page) {
|
|
|
//初始化顶部导航栏
|
|
@@ -39,18 +42,22 @@
|
|
|
*/
|
|
|
// 点击报警
|
|
|
$page.parent().find('.alarm').on('tap', function () {
|
|
|
- learun.nav.go({ path: 'baojingindex', title: '110丢失报警', isBack: true, isHead: true,type:'right' });
|
|
|
+ learun.nav.go({ path: 'baojingindex', title: '110丢失报警', isBack: true, isHead: true,type:'right' });
|
|
|
+ if(infoWindow){infoWindow.close( );}
|
|
|
});
|
|
|
// 点击图表
|
|
|
$page.parent().find('.chart').on('tap', function () {
|
|
|
- learun.nav.go({ path: 'tongji', title: '统计', isBack: true, isHead: true,type:'right' });
|
|
|
+ learun.nav.go({ path: 'tongji', title: '统计', isBack: true, isHead: true,type:'right' });
|
|
|
+ if(infoWindow){infoWindow.close( );}
|
|
|
});
|
|
|
// 点击消息图标
|
|
|
$page.parent().find('.message').on('tap', function () {
|
|
|
- learun.nav.go({ path: 'baojinginfo', title: '消息', isBack: true, isHead: true,type:'right' });
|
|
|
+ learun.nav.go({ path: 'baojinginfo', title: '消息', isBack: true, isHead: true,type:'right' });
|
|
|
+ if(infoWindow){infoWindow.close( );}
|
|
|
});
|
|
|
$page.parent().find('.my').on('tap', function () {
|
|
|
- learun.nav.go({ path: 'my', title: '我的', isBack: true, isHead: true,type:'right' });
|
|
|
+ learun.nav.go({ path: 'my', title: '我的', isBack: true, isHead: true,type:'right' });
|
|
|
+ if(infoWindow){infoWindow.close( );}
|
|
|
});
|
|
|
// 注册扫描
|
|
|
$page.parent().find('.scanner').on('tap', function () {
|
|
@@ -77,13 +84,20 @@
|
|
|
// 'Speed: ' + position.coords.speed + '\n' +
|
|
|
// 'Timestamp: ' + position.timestamp + '\n');
|
|
|
var lnglat = new AMap.LngLat(position.coords.longitude, position.coords.latitude);
|
|
|
+ startEnd.start = lnglat;
|
|
|
userMarker.setPosition(lnglat);
|
|
|
userMarker.setMap(mainMap);
|
|
|
if(locationFlag){
|
|
|
- mainMap.setFitView();
|
|
|
+ if(latlngSign){
|
|
|
+ mainMap.setFitView();
|
|
|
+ }else{
|
|
|
+ mainMap.setFitView([userMarker]);
|
|
|
+ }
|
|
|
locationFlag = false;
|
|
|
}else{
|
|
|
- mainMap.setFitView([vehicleMarker]);
|
|
|
+ if(latlngSign){
|
|
|
+ mainMap.setFitView([vehicleMarker]);
|
|
|
+ }
|
|
|
locationFlag = true;
|
|
|
}
|
|
|
};
|
|
@@ -91,7 +105,7 @@
|
|
|
// onError Callback receives a PositionError object
|
|
|
//
|
|
|
function onError(error) {
|
|
|
- alert('code: ' + error.code + '\n' +
|
|
|
+ console.log('code: ' + error.code + '\n' +
|
|
|
'message: ' + error.message + '\n');
|
|
|
}
|
|
|
navigator.geolocation.getCurrentPosition(onSuccess, onError);
|
|
@@ -134,22 +148,29 @@
|
|
|
init_nav();
|
|
|
|
|
|
//地图
|
|
|
- var startEnd = {start:new AMap.LngLat(113.951104,22.542902), end:new AMap.LngLat(113.955439,22.532956)};
|
|
|
|
|
|
+ var startEnd = {start: null, end: null};
|
|
|
+
|
|
|
var fencePageData = null;
|
|
|
var routePageData = null;
|
|
|
|
|
|
- // var userIcon = new AMap.Icon({size: new AMap.Size(50,50), image:'./images/gelocation.png'})
|
|
|
- var userMarker = new AMap.Marker({icon: "./images/gelocation-2.png", offset:new AMap.Pixel(-16, -28)});
|
|
|
-
|
|
|
+ var userIcon = new AMap.Icon({size: new AMap.Size(23,23), image:'./images/location.png', imageSize:new AMap.Size(23,23)})
|
|
|
+ var userMarker = new AMap.Marker({icon: userIcon, offset:new AMap.Pixel(-16, -28)});
|
|
|
+
|
|
|
+ get_mobile_gps_location();
|
|
|
//车辆信息初始化
|
|
|
var timeInterval = 10000;
|
|
|
//地图初始化
|
|
|
- var mainMap = new AMap.Map('amapcontainer');
|
|
|
+ mainMap = new AMap.Map('amapcontainer', {
|
|
|
+ center: [120.210649,30.246071],
|
|
|
+ zoom: 15
|
|
|
+ });
|
|
|
mainMap.on('complete', function(){
|
|
|
+ get_mobile_gps_location()
|
|
|
learun.layer.loading(false);
|
|
|
- });
|
|
|
- var vehicleMarker = new AMap.Marker({icon:'./images/bicycle.png', offset:new AMap.Pixel(0, -51)});
|
|
|
+ });
|
|
|
+ var bicycleIcon = new AMap.Icon({size: new AMap.Size(32,32), image:'./images/bicycle-2.png', imageSize:new AMap.Size(32,32)})
|
|
|
+ var vehicleMarker = new AMap.Marker({icon:bicycleIcon, offset:new AMap.Pixel(0, -51)});
|
|
|
var circle = new AMap.Circle({
|
|
|
radius: 0,
|
|
|
center: [0, 0],
|
|
@@ -169,6 +190,7 @@
|
|
|
circle.setMap(mainMap);
|
|
|
|
|
|
var overlayData = {map:mainMap, vehicle:vehicleMarker, circle:circle};
|
|
|
+ var latlngSign = null;
|
|
|
|
|
|
var getVehicleData = function(t, first=false){
|
|
|
var deviceNumber = userinfo.baseinfo['deviceNumber'];
|
|
@@ -180,34 +202,58 @@
|
|
|
learun.layer.warning('无地图数据,请检测网络或联系管理员!', function () { }, '提示', '关闭');
|
|
|
return;
|
|
|
}
|
|
|
- var vehiclePt = new AMap.LngLat(+mapData.vehicleLocation.longitude, +mapData.vehicleLocation.latitude)
|
|
|
+ latlngSign = mapData.vehicleLocation.longitude;
|
|
|
+ if(!latlngSign){
|
|
|
+ first = false;
|
|
|
+ }else{
|
|
|
+ var vehiclePt = new AMap.LngLat(+mapData.vehicleLocation.longitude, +mapData.vehicleLocation.latitude);
|
|
|
+ startEnd.end = vehiclePt;
|
|
|
+ t.vehicle.setPosition(vehiclePt);
|
|
|
+ t.vehicle.setMap(t.map);
|
|
|
+ }
|
|
|
+
|
|
|
+ console.log(startEnd)
|
|
|
if(first){
|
|
|
t.map.setZoomAndCenter(15,vehiclePt);
|
|
|
}
|
|
|
|
|
|
$page.find('#battery').html(mapData.battery+'%');
|
|
|
|
|
|
- t.vehicle.setPosition(vehiclePt);
|
|
|
- t.vehicle.setMap(t.map);
|
|
|
+
|
|
|
//在线状态
|
|
|
if(mapData.onlineTime){
|
|
|
- var interval = new Date() - mapData.onlineTime;;
|
|
|
- if(interval < 24*3600){
|
|
|
- $('#on-off-online').text('在线中');
|
|
|
- $('#on-off-online').css({color:"green"})
|
|
|
- }else{
|
|
|
- var day = parseInt(interval/24/3600);
|
|
|
- $('#on-off-online').text('离线'+day+'天');
|
|
|
+ if(parseInt(mapData.onlineTime) < 0 ){
|
|
|
+ console.log(parseInt(mapData.onlineTime)+'-在线时间');
|
|
|
+ $('#on-off-online').text('未在线过');
|
|
|
$('#on-off-online').css({color:"gray"})
|
|
|
+ }else{
|
|
|
+ var routeTime = new Date(mapData.onlineTime*1000);
|
|
|
+ routePageData = {speed: mapData.speed == null ? 0 : mapData.speed, lastTime:routeTime.Format("yyyy-MM-dd hh:mm:ss")}
|
|
|
+ var interval = parseInt(new Date().getTime()/1000) - mapData.onlineTime;
|
|
|
+ if(interval < 24*3600){
|
|
|
+ $('#on-off-online').text('在线中');
|
|
|
+ $('#on-off-online').css({color:"green"})
|
|
|
+ }else{
|
|
|
+ var day = parseInt(interval/24/3600);
|
|
|
+ $('#on-off-online').text('离线'+day+'天');
|
|
|
+ $('#on-off-online').css({color:"gray"})
|
|
|
+
|
|
|
+ console.log(mapData.onlineTime);
|
|
|
+ console.log(new Date().getTime());
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
- var fence = JSON.parse(mapData.fenceShapeInfo);
|
|
|
- if(fence.type == 'circle'){
|
|
|
- t.circle.setCenter(new AMap.LngLat(fence.data.center.lng, fence.data.center.lat));
|
|
|
- t.circle.setRadius(fence.data.radius);
|
|
|
-
|
|
|
- t.circle.setMap(t.map);
|
|
|
+ var fence = mapData.fenceShapeInfo;
|
|
|
+ if(fence){
|
|
|
+ fence = JSON.parse(fence);
|
|
|
+ if(fence.type == 'circle'){
|
|
|
+ t.circle.setCenter(new AMap.LngLat(fence.data.center.lng, fence.data.center.lat));
|
|
|
+ t.circle.setRadius(fence.data.radius);
|
|
|
+
|
|
|
+ t.circle.setMap(t.map);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if(mapData.lockStatus == 1){
|
|
@@ -216,9 +262,8 @@
|
|
|
}
|
|
|
|
|
|
fencePageData = {fenceInfo: fence, defaultLocation: vehiclePt, fenceStatus:mapData.fenceAlarmStatus};
|
|
|
- var routeTime = new Date(mapData.onlineTime);
|
|
|
-
|
|
|
- routePageData = {speed:mapData.speed, lastTime:routeTime.Format("yyyy-MM-dd hh:mm:ss")}
|
|
|
+
|
|
|
+
|
|
|
});
|
|
|
|
|
|
};
|
|
@@ -226,10 +271,7 @@
|
|
|
|
|
|
//定位
|
|
|
$page.find('#user-location').on('tap', function(){
|
|
|
- get_mobile_gps_location(function(position){
|
|
|
- // position.coords.latitude
|
|
|
-
|
|
|
- });
|
|
|
+ get_mobile_gps_location();
|
|
|
});
|
|
|
|
|
|
//锁车
|
|
@@ -237,7 +279,7 @@
|
|
|
var lockStatus = $page.find('#lockStatus');
|
|
|
|
|
|
var postData = {
|
|
|
- deviceNumber:'AAAAAA000003',
|
|
|
+ deviceNumber: userinfo.baseinfo.deviceNumber,
|
|
|
lockStatus: lockStatus.hasClass('icon-jiesuo') ? 1 : 0
|
|
|
}
|
|
|
|
|
@@ -269,9 +311,11 @@
|
|
|
AMapUI.defineTpl("ui/overlay/SimpleInfoWindow/tpl/container.html", [], function() {
|
|
|
return document.getElementById('my-infowin-tpl').innerHTML;
|
|
|
});
|
|
|
-
|
|
|
+ console.log('ccc')
|
|
|
AMapUI.loadUI(['overlay/SimpleInfoWindow'], function(SimpleInfoWindow) {
|
|
|
- var lnglat = vehicleMarker.getPosition();
|
|
|
+
|
|
|
+ lnglat = vehicleMarker.getPosition();
|
|
|
+ console.log(lnglat+'vehicle-location');
|
|
|
var address = '坐标未解析成功';
|
|
|
|
|
|
|
|
@@ -289,18 +333,23 @@
|
|
|
address = result.regeocode.formattedAddress;
|
|
|
|
|
|
if(!infoWindow){
|
|
|
- var infoWindow = new SimpleInfoWindow({
|
|
|
+ infoWindow = new SimpleInfoWindow({
|
|
|
infoBody: '<span>'+address+'</span>',
|
|
|
//基点指向marker的头部位置
|
|
|
offset: new AMap.Pixel(50, -64)
|
|
|
});
|
|
|
+ console.log('aaa')
|
|
|
}
|
|
|
+ console.log('vvv')
|
|
|
infoWindow.open(mainMap, lnglat);
|
|
|
infoWindow.get$Container().on('click', function(){
|
|
|
learun.nav.go({ path: 'amap/navigation', title: '导航', isBack: true, isHead: true, param: startEnd });
|
|
|
+ if(infoWindow){infoWindow.close( );}
|
|
|
});
|
|
|
|
|
|
- }else{learun.layer.toast(JSON.stringify(result))}
|
|
|
+ }else{
|
|
|
+ // learun.layer.toast(JSON.stringify(result));
|
|
|
+ }
|
|
|
});
|
|
|
|
|
|
});
|
|
@@ -356,26 +405,37 @@
|
|
|
//轨迹页跳转
|
|
|
$page.find('#route-play').on('tap', function () {
|
|
|
learun.nav.go({ path: 'amap/route', title: '轨迹回放', isBack: true, isHead: true, param: routePageData });
|
|
|
+ if(infoWindow){infoWindow.close( );}
|
|
|
});
|
|
|
|
|
|
//围栏页跳转
|
|
|
$page.find('#electric-fence').on('tap', function () {
|
|
|
learun.nav.go({ path: 'amap/fence', title: '围栏设置', isBack: true, isHead: true, param: fencePageData });
|
|
|
+ if(infoWindow){infoWindow.close( );}
|
|
|
});
|
|
|
|
|
|
//保险页跳转
|
|
|
$page.find('.insurance-img').on('tap', function () {
|
|
|
learun.nav.go({ path: 'insure', title: '保险理赔', isBack: true, isHead: true, param: 'test' });
|
|
|
+ if(infoWindow){infoWindow.close( );}
|
|
|
});
|
|
|
//定时刷新数据
|
|
|
|
|
|
- var mainPageInterval = setInterval(function(){
|
|
|
- if($('.f-page').length > 1){
|
|
|
- clearTimeout(mainPageInterval);
|
|
|
- }
|
|
|
- console.log('dd');
|
|
|
- getVehicleData(overlayData);
|
|
|
- }, timeInterval);
|
|
|
+ // var mainPageInterval = setInterval(function(){
|
|
|
+ // if($('.f-page').length > 1){
|
|
|
+ // clearTimeout(mainPageInterval);
|
|
|
+ // }
|
|
|
+ // console.log('dd');
|
|
|
+ // getVehicleData(overlayData);
|
|
|
+ // }, timeInterval);
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+ reload: function ($page, pageinfo) {
|
|
|
+ if(infoWindow){
|
|
|
+ infoWindow.open(mainMap, lnglat);
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
};
|