原问题:选择对应员工名后地图没有跳转到该员工所在的位置
updateMapData() 过滤数据jumpToUserLocation() 调用jumpToUserLocation(userId, data) 函数实现地图跳转// 用户选择变化时刷新地图
$('#userSelect').change(function() {
currentUser=$(this).val()
console.log('currentUser',currentUser);
updateMapData(lastTotalInfo);
// 🎯 新增:如果选择了特定用户,地图跳转到该用户位置
if (currentUser && lastTotalInfo) {
jumpToUserLocation(currentUser, lastTotalInfo);
}
});
// 地图跳转到指定用户位置的函数
window.jumpToUserLocation = function(userId, data) {
console.log('jumpToUserLocation - userId:', userId, 'data:', data);
if (!userId || !data || !map) {
console.warn('❌ 跳转用户位置失败 - 缺少必要参数');
return;
}
try {
// 从健康数据中查找用户
const healths = data.health_data?.healthData || [];
const userHealth = healths.find(h =>
String(h.user_id || h.userId) === String(userId) ||
String(h.id) === String(userId)
);
if (userHealth && userHealth.longitude && userHealth.latitude) {
const lng = parseFloat(userHealth.longitude);
const lat = parseFloat(userHealth.latitude);
// 验证坐标有效性并跳转
if (isValidCoordinate(lng, lat)) {
console.log(`🎯 地图跳转到用户位置: ${userHealth.userName} (${lng}, ${lat})`);
map.setCenter([lng, lat]);
// 保持当前缩放级别不变,只改变中心点
}
} else {
// 如果健康数据中没有,从告警数据中查找
// ... 告警数据查找逻辑
}
} catch (error) {
console.error('❌ 跳转用户位置出错:', error);
}
};
http://localhost:5001/main?customerId=1选择员工后,地图会自动: