|
|
<!doctype html>
|
|
|
<head>
|
|
|
<meta charset="utf-8">
|
|
|
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
|
|
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
|
|
|
<style>
|
|
|
html,
|
|
|
body,
|
|
|
#container {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
margin: 0px;
|
|
|
}
|
|
|
|
|
|
#loadingTip {
|
|
|
position: absolute;
|
|
|
z-index: 9999;
|
|
|
top: 0;
|
|
|
left: 0;
|
|
|
padding: 3px 10px;
|
|
|
background: red;
|
|
|
color: #fff;
|
|
|
font-size: 14px;
|
|
|
}
|
|
|
</style>
|
|
|
<title>运动轨迹</title>
|
|
|
</head>
|
|
|
|
|
|
<body>
|
|
|
<div id="container"></div>
|
|
|
<script type="text/javascript" src='//webapi.amap.com/maps?v=1.4.4&key=9c89950bdfbcecd46f814309384655cd'></script>
|
|
|
<!-- UI组件库 1.0 -->
|
|
|
<script src="//webapi.amap.com/ui/1.0/main.js?v=1.0.11"></script>
|
|
|
<script type="text/javascript">
|
|
|
//创建地图
|
|
|
var map = new AMap.Map('container', {
|
|
|
zoom: 4
|
|
|
});
|
|
|
|
|
|
AMapUI.load(['ui/misc/PathSimplifier', 'lib/$'], function (PathSimplifier, $) {
|
|
|
|
|
|
if (!PathSimplifier.supportCanvas) {
|
|
|
alert('当前环境不支持 Canvas!');
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
//just some colors
|
|
|
var colors = [
|
|
|
"#3366cc", "#dc3912", "#ff9900", "#109618", "#990099", "#0099c6", "#dd4477", "#66aa00",
|
|
|
"#b82e2e", "#316395", "#994499", "#22aa99", "#aaaa11", "#6633cc", "#e67300", "#8b0707",
|
|
|
"#651067", "#329262", "#5574a6", "#3b3eac"
|
|
|
];
|
|
|
|
|
|
var pathSimplifierIns = new PathSimplifier({
|
|
|
zIndex: 100,
|
|
|
//autoSetFitView:false,
|
|
|
map: map, //所属的地图实例
|
|
|
|
|
|
getPath: function (pathData, pathIndex) {
|
|
|
|
|
|
return pathData.path;
|
|
|
},
|
|
|
getHoverTitle: function (pathData, pathIndex, pointIndex) {
|
|
|
|
|
|
if (pointIndex >= 0) {
|
|
|
//point
|
|
|
return pathData.name + ',点:' + pointIndex + '/' + pathData.path.length;
|
|
|
}
|
|
|
|
|
|
return pathData.name + ',点数量' + pathData.path.length;
|
|
|
},
|
|
|
renderOptions: {
|
|
|
pathLineStyle: {
|
|
|
dirArrowStyle: true
|
|
|
},
|
|
|
getPathStyle: function (pathItem, zoom) {
|
|
|
|
|
|
var color = colors[pathItem.pathIndex % colors.length],
|
|
|
lineWidth = Math.round(4 * Math.pow(1.1, zoom - 3));
|
|
|
|
|
|
return {
|
|
|
pathLineStyle: {
|
|
|
strokeStyle: color,
|
|
|
lineWidth: lineWidth
|
|
|
},
|
|
|
pathLineSelectedStyle: {
|
|
|
lineWidth: lineWidth + 2
|
|
|
},
|
|
|
pathNavigatorStyle: {
|
|
|
fillStyle: color
|
|
|
}
|
|
|
};
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
|
|
|
window.pathSimplifierIns = pathSimplifierIns;
|
|
|
|
|
|
$('<div id="loadingTip">加载数据,请稍候...</div>').appendTo(document.body);
|
|
|
|
|
|
$.getJSON('/owntracks/get_datas?date={{ date }}', function (d) {
|
|
|
|
|
|
if (!d || !d.length) {
|
|
|
$("#loadingTip").text("没有数据...")
|
|
|
return;
|
|
|
}
|
|
|
$('#loadingTip').remove();
|
|
|
pathSimplifierIns.setData(d);
|
|
|
|
|
|
//initRoutesContainer(d);
|
|
|
|
|
|
function onload() {
|
|
|
pathSimplifierIns.renderLater();
|
|
|
}
|
|
|
|
|
|
function onerror(e) {
|
|
|
alert('图片加载失败!');
|
|
|
}
|
|
|
|
|
|
d.forEach(function (item, index) {
|
|
|
var navg1 = pathSimplifierIns.createPathNavigator(index, {
|
|
|
loop: true,
|
|
|
speed: 1000,
|
|
|
});
|
|
|
|
|
|
navg1.start();
|
|
|
})
|
|
|
|
|
|
});
|
|
|
});
|
|
|
</script>
|
|
|
</body>
|
|
|
|
|
|
|
|
|
</html> |