zhanmingkan
2022-05-17 e8d9f2bb15b9e2a0aedafa2e7d56e741b2296f8a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
//接处警应急,根据坐标获取周边100米范围内得摄像头
function getRHPCVideo(position){
    var pt = position.toString();
    var cameraArgs = JSON.stringify({
        "camPosition" : pt
    });
    $.ajax({
        type : "post",
        url : "../../easyAPI/video/getRHPCVideo.action",
        data : cameraArgs,
        contentType : "application/json;charset=utf-8",
        success : function (data){
            if(data !== undefined){
                camData = data;
                var objvlc = {
                    'sysType':'vlc',
                };
                var argsvlc = JSON.stringify(objvlc);
                $.ajax({
                    type : "post",
                    url : "../../easyAPI/sys/querySysParabyType.action",
                    data : argsvlc,
                    async : false,
                    contentType : "application/json;charset=utf-8",
                    success : function(data) {
                        showRHPCVideo_3D(camData,data[0].sysContent);
                    },
                    error : function(XMLHttpRequest, textStatus, errorThrown) {
                        console.log("ajax请求失败!","请重试!","error");
                    }
                });
            }
        },
        error : function(XMLHttpRequest, textStatus, errorThrown){
            console.log("接处警应急100米范围内摄像头获取失败!");
        }
    });
}
//接处警应急,根据坐标获取周边200米范围内的人员
var thePolicemanArr = [];
var deviceList = [];
function getRHPCPolice(position){
    $.ajax({
        type : "post",
        url : "../../easyAPI/police/getPoliceRealDateWithManPos.action",
        contentType : "application/json;charset=utf-8",
        success : function(data) {
            var lng = Number(position[0]);
            var lat = Number(position[1]);
            
            for (var i = 0; i < data.length; i++) {
                var dis = getFlatternDistance(lng,lat,Number(data[i].longitude),Number(data[i].latitude));
                if(dis <= Number($("#ePoliceRadius").val())){
                    deviceList.push(data[i]);
                }
            }
            showPolice_3D(deviceList,'RHPC');
        },
        error : function(XMLHttpRequest, textStatus, errorThrown) {
            // 请求失败时执行该函数
            console.log("接处警应急200米范围内人员获取失败!");
        }
    });
}
//接处警应急,根据坐标获取周边200米范围内的车辆
var carEmresult = [];
function getRHPCCar(position){
    $.ajax({
        type : "post",
        url : "../../easyAPI/car/getPoliceCarRealData.action",
        contentType : "application/json;charset=utf-8",
        success : function (data){
            var lng = Number(position[0]);
            var lat = Number(position[1]);
            
            for ( var i = 0; i < data.length; i++) {
                if(data[i].realdata != undefined){
                    var dis = getFlatternDistance(lng,lat,data[i].realdata.longitude,data[i].realdata.latitude);
                    if(dis <= Number($("#ePoliceRadius").val())){
                        carEmresult.push(data[i]);
                    }
                }
            }
            showPoliceCar_3D(carEmresult)//显示200米范围内的车辆
        },
        error : function(XMLHttpRequest, textStatus, errorThrown){
            console.log("接处警应急200米范围内车辆获取失败!");
        }
    });
}
//接处警应急,框选人员
function selectCommandPolice(comPoints){
    $.ajax({
        type : "post",
        url : "../../easyAPI/police/getPoliceRealDateWithManPos.action",
        contentType : "application/json;charset=utf-8",
        success : function(data) {
            if(data !== undefined){
                var insidedata = [];
                for ( var i = 0; i < data.length; i++) {
                    var testPoi = [Number(data[i].longitude),Number(data[i].latitude)];
                    //判断是否在选框内
                    if(insidePolygon(comPoints,testPoi)){
                        insidedata.push(data[i]);
                    }
                }
                if(insidedata.length!=0){
                    //人员定位
                    showPolice_3D(insidedata,'RHPC');
                    //选中并填入正在对讲人的姓名
                    stopintercom();
                    startintercom(insidedata,'police');
                    //显示多个路径导航
                    showRoadNavs(insidedata);
                }else{
                    clearrhpcVideo();
                    swal("没有选中警力!","请重试!","error");
                }
            }
        },
        error : function(XMLHttpRequest, textStatus, errorThrown) {
            console.log("获取人员信息失败!");
        }
    });
}
//接处警应急,框选车辆
function selectCommandCar(comPoints){
    $.ajax({
        type : "post",
        url : "../../easyAPI/car/getPoliceCarRealData.action",
        contentType : "charset=utf-8",
        success : function(data) {
            if(data !== undefined){
                var insidedata = [];
                var insidedataCar=[];
                for ( var i = 0; i < data.length; i++) {
                    if(data[i].realdata != undefined){
                        var testPoi = [Number(data[i].realdata.longitude),Number(data[i].realdata.latitude)];
                        //判断是否在选框内
                        if(insidePolygon(comPoints,testPoi)){
                            insidedataCar.push(data[i].realdata);
                            insidedata.push(data[i]);
                        }
                    }
                }
                if(insidedata.length!=0){
                    //车辆定位
                    showPoliceCar_3D(insidedata)
                    //选中并填入正在对讲人的车牌
                    stopintercom();
                    startintercom(insidedataCar);
                    //显示多个路径导航
                    showRoadNavs(insidedataCar);
                }else{
                    clearrhpcVideo();
                    swal("没有选中警力!","请重试!","error");
                }
            }
        },
        error : function(XMLHttpRequest, textStatus, errorThrown) {
            console.log("获取车辆信息失败!");
        }
    });
}
//多路径路径导航,向百度服务发送请求
function getRoadNavs(url){
    $.ajax({
        url: url,
        dataType: "jsonp",
        async: false,
        cache:false,
        success:function(data){
            showRouteLines(data);
        }
    });
}
//定位报警写入案件中
function insertEmergencyCase(caseName,casePosition){
    var args = JSON.stringify({
            "caseName":caseName,
            "casePosition":emergencyPosArr.join(',')
        });
    $.ajax({
        type : "post",
        url : "../../easyAPI/case/insertEmergencyCase.action",
        data : args,
        contentType : "application/json;charset=utf-8",
        success : function(data) {
            if(data==1){
                swal("定位报警已记录,请在后台完善案件信息!","定位成功!","success");
            }
        },
        error : function(XMLHttpRequest, textStatus, errorThrown) {
            console.log("定位报警写入案件请求失败!");
        }
    });
}