使用html实现实时获取GPS位置并每隔5秒生成完整的轨迹图的具体代码,显示轨迹图并把轨迹图保存至云端服务器:https://4147093qp2.imdo.co/upload,使用中国境内的服务商地图服务
时间: 2023-03-09 21:05:08 浏览: 145
获得GPS位置
可以使用以下代码实现: <html>
<head>
<title>实时获取GPS位置</title>
<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=您申请的key"></script>
<script type="text/javascript" src="https://webapi.amap.com/geolocation?v=1.4.15&key=您申请的key"></script>
</head>
<body>
<div id="container" style="width:100%; height:100%;"></div>
<script type="text/javascript">
var map = new AMap.Map('container', {
resizeEnable: true
});
var geolocation = new AMap.Geolocation({
enableHighAccuracy: true,//是否使用高精度定位,默认:true
timeout: 10000, //超过10秒后停止定位,默认:无穷大
maximumAge: 0, //定位结果缓存0毫秒,默认:0
convert: true, //自动偏移坐标,偏移后的坐标为高德坐标,默认:true
showButton: true, //显示定位按钮,默认:true
buttonPosition: 'LB', //定位按钮停靠位置,默认:'LB',左下角
buttonOffset: new AMap.Pixel(10, 20),//定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)
showMarker: true, //定位成功后在定位到的位置显示点标记,默认:true
showCircle: true, //定位成功后用圆圈表示定位精度范围,默认:true
panToLocation: true, //定位成功后将定位到的位置作为地图中心点,默认:true
zoomToAccuracy:true //定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
});
map.addControl(geolocation);
geolocation.getCurrentPosition();
AMap.event.addListener(geolocation, 'complete', onComplete);
function onComplete (data){
// 定时获取GPS位置
function getCurrentPosition(){
geolocation.getCurrentPosition();
}
setInterval(getCurrentPosition, 5000);
// 将定位得到的轨迹点上传至云端服务器
var trackPoints = data.position;
var xhr = new XMLHttpRequest();
xhr.open('POST', 'https://4147093qp2.imdo.co/upload', true);
xhr.send(trackPoints);
// 绘制轨迹
var polyline = new AMap.Polyline({
path: trackPoints,
strokeColor: '#FF0000',
strokeWeight: 2,
});
map.add(polyline);
}
AMap.event.addListener(geolocation, 'error', onError);
//解析定位错误信息
function onError(data) {
document.getElementById('status').innerHTML='定位失败';
}
</script>
</body>
</html>
阅读全文