<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>轨迹地图</title>
<style>
#map {
height: 100%;
}
html, body {
height: 100%;
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<div id="map"></div>
<script src="https://map.qq.com/api/js?v=2.exp&key=您的腾讯地图API密钥"></script>
<script>
var map;
var points = [
{lng: 113.946748, lat: 22.54899}, // 示例轨迹点1
{lng: 113.949944, lat: 22.548702}, // 示例轨迹点2
{lng: 113.953459, lat: 22.5485}, // 示例轨迹点3
// 添加更多轨迹点...
];
function initMap() {
map = new qq.maps.Map(document.getElementById('map'), {
center: new qq.maps.LatLng(points[0].lat, points[0].lng),
zoom: 12, // 初始缩放级别
mapTypeControl: false,
zoomControl: true,
zoomControlOptions: {
position: qq.maps.ControlPosition.TOP_LEFT
},
scaleControl: true,
scaleControlOptions: {
position: qq.maps.ControlPosition.BOTTOM_LEFT
},
streetViewControl: false,
});
var marker = new qq.maps.Marker({
position: map.getCenter(),
map: map
});
var polyline = new qq.maps.Polyline({
path: points,
strokeColor: '#3366FF',
strokeWeight: 4,
map: map
});
var distance = qq.maps.geometry.spherical.computeLength(polyline.getPath());
map.fitBounds(polyline.getBounds());
map.setZoom(getZoomByDistance(distance)); // 根据距离调整缩放级别
map.setMapTypeId(qq.maps.MapTypeId.SATELLITE); // 显示卫星地图
}
function getZoomByDistance(distance) {
// 根据距离计算缩放级别
var zoomLevel;
if (distance < 1000) {
zoomLevel = 14;
} else if (distance < 5000) {
zoomLevel = 12;
} else if (distance < 10000) {
zoomLevel = 10;
} else {
zoomLevel = 8;
}
return zoomLevel;
}
qq.maps.event.addDomListener(window, 'load', initMap);
</script>
</body>
</html>