var layer; $(document).ready(function () { layui.use(['layer'], function () { layer = layui.layer; }); }); function initMap() { // 检查高德地图API是否加载成功 if (typeof AMap === 'undefined') { layer.msg("地图加载失败,请检查网络连接!", {icon: 2}); return; } // 检查容器是否存在 var mapContainer = document.getElementById("map"); if (!mapContainer) { layer.msg("地图容器未找到!", {icon: 2}); return; } // 检查数据 if (!patrolRecordList || patrolRecordList.length === 0) { layer.msg("暂无轨迹数据!", {icon: 2}); var defaultPoint = [116.404, 39.915]; // 高德地图使用数组格式[经度,纬度] map = new AMap.Map("map", { zoom: 12, center: defaultPoint }); return; } // ========== 高德地图初始化与轨迹渲染 ========== // 1. 初始化地图 var map = new AMap.Map("map", { zoom: 13, center: [116.404, 39.915] // 默认中心点 }); // 2. 获取轨迹点数据 if (patrolRecordList.length === 0) { layer.msg("暂无轨迹数据!", {icon: 2}); map.setZoom(14); return; } // 3. 构造轨迹点数组和标记点数组 var points = []; // 轨迹坐标点 var markers = []; // 地图标记点 var cardElements = document.querySelectorAll('.track-card'); // 所有卡片元素 patrolRecordList.forEach(function (record, index) { var lng = record.longitude; var lat = record.latitude; var point = [lng, lat]; // 高德地图使用数组格式[经度,纬度] points.push(point); // 创建地图标记点 var marker = new AMap.Marker({ position: point, map: map }); markers.push(marker); // 标记点弹窗信息 var infoWindow = new AMap.InfoWindow({ content: `
巡检人:${record.createBy}
巡检时间:${new Date(record.createTime).toLocaleString()}
经纬度:${lat}, ${lng}