<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
|
<html lang="en">
|
|
<head>
|
<meta charset="utf-8">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta name="viewport"
|
content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no">
|
<title>地图展示</title>
|
<link rel="icon" type="image/x-icon" href="/hxzkoa/hxzk/assets/img/favicon.ico" />
|
|
<!-- BEGIN GLOBAL MANDATORY STYLES -->
|
<script src="/hxzkoa/hxzk/fengmap/js/fengmap.map.min.js"></script>
|
<link rel="stylesheet" href="/hxzkoa/hxzk/fengmap/css/fengmap.css">
|
<script src="/hxzkoa/hxzk/assets/js/libs/jquery-3.1.1.min.js"></script>
|
|
<style>
|
</style>
|
</head>
|
|
<body>
|
<div id="mapId" style="width:100%;height: 100%;cursor: pointer;"></div>
|
</body>
|
|
<script>
|
//常用方法
|
function getRealPositionsanwei() {
|
var realposition = [];
|
$.ajax({
|
async: false,
|
type: 'POST',
|
url: "/hxzkoa/getRealPositionsan2.do",
|
dataType: 'json',
|
success: function (data) {
|
for (var i = 0; i < data.length; i++) {
|
//playMark[id,name,power,life,x,y,time]
|
realposition.push([data[i].tagid, data[i].name, data[i].power, data[i].life, data[i].posx, data[i].posy, data[i].time, data[i].fence == 1 || data[i].sos == 1, data[i].sousuo, data[i].shipin, data[i].inkaoqing, data[i].jiao])
|
}
|
},
|
});
|
return realposition
|
};
|
|
function getSystemSetting() {
|
var sysset = [];
|
$.ajax({
|
async: false,
|
type: 'POST',
|
url: "/hxzkoa/getSysSetting_list.do",
|
dataType: 'json',
|
success: function (data) {
|
sysset = data;
|
},
|
});
|
return sysset;
|
};
|
|
function attributeCount(obj) {
|
var count = 0;
|
for (var i in obj) {
|
if (obj.hasOwnProperty(i)) { // 建议加上判断,如果没有扩展对象属性可以不加
|
count++;
|
}
|
}
|
return count;
|
}
|
</script>
|
|
<script>
|
var biaoqians = new Object();
|
var oo = 0;
|
var bm_sysSetting = getSystemSetting();
|
var bm_offView = bm_sysSetting[0].offView;//是否离线不显示图标
|
var bm_kaoqing = bm_sysSetting[0].diskaoqing;//是否出考勤区域消失
|
|
var origon = [
|
{ x: 8389, y: 5668 },
|
{ x: 8997, y: 5668 },
|
{ x: 8389, y: 4837 }
|
];
|
|
var target = [
|
{ x: 13018857.7817, y: 4724768.4396 }, //原点 x最小y最小
|
{ x: 13018864.8382, y: 4724768.4396 }, //x最大y最小
|
{ x: 13018857.8432, y: 4724788.3862 } //x最小y最大
|
];
|
|
var coordsTransformer = new fengmap.FMCoordsTransformer({ origon: origon, target: target });
|
|
var map;
|
var options = {
|
container: document.getElementById("mapId"),
|
appName: 'map1',
|
key: '09facc4ee52d1844bc1e561dad5abf59',
|
mapID: '1589827030481551361',
|
themeID: '4008',
|
minTiltAngle: 0,
|
mapZoom: 19.5,
|
}
|
|
map = new fengmap.FMMap(options);
|
|
function fn() {
|
var personlist1 = getRealPositionsanwei();
|
var personlist = [];
|
if (personlist1.length != 0) {
|
for (var i = 0; i < personlist1.length; i++) {
|
if (((bm_offView == '1' && personlist1[i][3] == '1') || (bm_offView == '0')) && ((bm_kaoqing == '1' && personlist1[i][10] == '1') || (bm_kaoqing == '0'))) {
|
personlist.push(personlist1[i]);
|
}
|
if ((bm_offView == '1' && personlist1[i][3] != '1') || (bm_kaoqing == '1' && personlist1[i][10] != '1')) {
|
if (biaoqians[personlist1[i][0]] != "" && biaoqians[personlist1[i][0]] != 0 && biaoqians[personlist1[i][0]] != null) {
|
biaoqians[personlist1[i][0]].remove();
|
delete biaoqians[personlist1[i][0]];
|
}
|
}
|
}
|
if (attributeCount(biaoqians) != personlist.length) {
|
diaoyong1();
|
} else {
|
diaoyong2();
|
}
|
}
|
|
function diaoyong1() {
|
for (var i = 0; i < personlist.length; i++) {
|
if (biaoqians[personlist[i][0]] == "" || biaoqians[personlist[i][0]] == 0 || biaoqians[personlist[i][0]] == null) {
|
var xy = coordsTransformer.transform({ x: personlist[i][4], y: personlist[i][5] });
|
var fmarker = new fengmap.FMDynamicModel({
|
url: '../fengmap/data/person.glb',
|
x: xy.x,
|
y: xy.y,
|
scale: 3,
|
height: 0,
|
heading: 0,
|
callback: function (marker) {
|
fmarker.startAction(fmarker.getActionNames()[0]);
|
}
|
})
|
|
var level = map.getLevel();
|
var floor = map.getFloor(level);
|
fmarker.addTo(floor);
|
biaoqians[personlist[i][0]] = fmarker;
|
}
|
}
|
}
|
|
function diaoyong2() {
|
for (var i = 0; i < personlist.length; i++) {
|
var xy = coordsTransformer.transform({ x: personlist[i][4], y: personlist[i][5] });
|
biaoqians[personlist[i][0]].moveTo({
|
x: xy.x,
|
y: xy.y,
|
animate: true,
|
})
|
if (personlist[i][11] != 180.0) {
|
biaoqians[personlist[i][0]].rotateTo({
|
heading: personlist[i][11],
|
animate: true,
|
})
|
}
|
}
|
}
|
}
|
</script>
|
|
</html>
|