Skip to content

Commit 8499074

Browse files
author
CzNd
committed
修复热力图模块的问题 更改了路由
1 parent bb6dce8 commit 8499074

4 files changed

Lines changed: 28 additions & 25 deletions

File tree

frontend/src/routes/_layout/passenger_density_heat_map.tsx renamed to frontend/src/components/Traffic_analysis/PassengerDensityHeatMap.tsx

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,9 @@
11
import React, { useEffect, useRef, useState } from "react"
22
import { Box, Container, Heading, Text, Flex, IconButton, VStack, Input } from "@chakra-ui/react"
3-
import { createFileRoute } from "@tanstack/react-router"
43
import { FiArrowLeft, FiMaximize2, FiMinimize2 } from "react-icons/fi"
54
import { useNavigate } from "@tanstack/react-router"
65

7-
export const Route = createFileRoute("/_layout/passenger_density_heat_map")({
8-
component: StaticHeatmap,
9-
})
10-
11-
function StaticHeatmap() {
6+
export default function PassengerDensityHeatMap() {
127
const mapRef = useRef<HTMLDivElement>(null)
138
const navigate = useNavigate()
149
const [startUtc, setStartUtc] = useState("20130912011417")

frontend/src/components/Traffic_analysis/VehicleTrajectory.tsx

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export default function VehicleTrajectory() {
2222
useEffect(() => {
2323
const initMap = () => {
2424
if (typeof window !== 'undefined' && window.BMap && mapRef.current) {
25+
console.log('初始化百度地图...')
2526
const map = new window.BMap.Map(mapRef.current)
2627
mapInstanceRef.current = map
2728
// 设置济南市中心坐标
@@ -30,26 +31,42 @@ export default function VehicleTrajectory() {
3031
map.enableScrollWheelZoom(true)
3132
map.addControl(new window.BMap.NavigationControl())
3233
map.addControl(new window.BMap.ScaleControl())
34+
console.log('百度地图初始化完成')
3335
}
3436
}
3537

3638
const loadBaiduMap = () => {
3739
if (typeof window !== 'undefined' && !window.BMap) {
40+
console.log('加载百度地图API...')
3841
const script = document.createElement('script')
3942
script.src = `https://api.map.baidu.com/api?v=3.0&ak=TtyedSKP6umaE86VQqLbcE1sHS0f65A8&callback=initBaiduMap`
4043
script.async = true
4144
document.head.appendChild(script)
4245
window.initBaiduMap = initMap
4346
} else {
47+
console.log('百度地图API已存在,直接初始化')
4448
initMap()
4549
}
4650
}
47-
loadBaiduMap()
51+
52+
// 延迟加载地图,确保DOM已渲染
53+
const timer = setTimeout(() => {
54+
loadBaiduMap()
55+
}, 100)
56+
57+
return () => {
58+
clearTimeout(timer)
59+
}
4860
}, [])
4961

5062
// 清空地图上的所有覆盖物
5163
const clearMap = () => {
52-
if (!mapInstanceRef.current) return
64+
if (!mapInstanceRef.current) {
65+
console.log('地图实例不存在,无法清空')
66+
return
67+
}
68+
69+
console.log('清空地图覆盖物...')
5370

5471
// 清除之前的轨迹线
5572
if (polylineRef.current) {
@@ -170,6 +187,7 @@ export default function VehicleTrajectory() {
170187
? `http://localhost:8000/api/v1/analysis/gps-records-corrected?commaddr=${commaddr}&start_utc=${startUtc}&end_utc=${endUtc}&coordinate_system=${coordinateSystem}`
171188
: `http://localhost:8000/api/v1/analysis/gps-records?commaddr=${commaddr}&start_utc=${startUtc}&end_utc=${endUtc}`
172189

190+
console.log('API URL:', apiUrl)
173191
const response = await fetch(apiUrl)
174192
const data = await response.json()
175193

@@ -192,12 +210,15 @@ export default function VehicleTrajectory() {
192210

193211
// 确保地图已初始化后再绘制轨迹
194212
if (mapInstanceRef.current && window.BMap) {
213+
console.log('地图已初始化,开始绘制轨迹')
195214
// 延迟一点时间确保地图完全加载
196215
setTimeout(() => {
197216
drawTrajectoryOnMap(records)
198-
}, 100)
217+
}, 200)
199218
} else {
200219
console.error('地图未初始化,无法绘制轨迹')
220+
console.log('mapInstanceRef.current:', mapInstanceRef.current)
221+
console.log('window.BMap:', window.BMap)
201222
}
202223
} catch (error) {
203224
console.error('获取轨迹数据失败:', error)

frontend/src/routeTree.gen.ts

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import { Route as LayoutIndexImport } from './routes/_layout/index'
2020
import { Route as LayoutTrafficAnalysisImport } from './routes/_layout/traffic-analysis'
2121
import { Route as LayoutSettingsImport } from './routes/_layout/settings'
2222
import { Route as LayoutRoadDetectionImport } from './routes/_layout/road-detection'
23-
import { Route as LayoutPassengerdensityheatmapImport } from './routes/_layout/passenger_density_heat_map'
2423
import { Route as LayoutItemsImport } from './routes/_layout/items'
2524
import { Route as LayoutFaceRecognitionImport } from './routes/_layout/face-recognition'
2625
import { Route as LayoutAdminImport } from './routes/_layout/admin'
@@ -72,12 +71,6 @@ const LayoutRoadDetectionRoute = LayoutRoadDetectionImport.update({
7271
getParentRoute: () => LayoutRoute,
7372
} as any)
7473

75-
const LayoutPassengerdensityheatmapRoute =
76-
LayoutPassengerdensityheatmapImport.update({
77-
path: '/passenger_density_heat_map',
78-
getParentRoute: () => LayoutRoute,
79-
} as any)
80-
8174
const LayoutItemsRoute = LayoutItemsImport.update({
8275
path: '/items',
8376
getParentRoute: () => LayoutRoute,
@@ -129,10 +122,6 @@ declare module '@tanstack/react-router' {
129122
preLoaderRoute: typeof LayoutItemsImport
130123
parentRoute: typeof LayoutImport
131124
}
132-
'/_layout/passenger_density_heat_map': {
133-
preLoaderRoute: typeof LayoutPassengerdensityheatmapImport
134-
parentRoute: typeof LayoutImport
135-
}
136125
'/_layout/road-detection': {
137126
preLoaderRoute: typeof LayoutRoadDetectionImport
138127
parentRoute: typeof LayoutImport
@@ -159,7 +148,6 @@ export const routeTree = rootRoute.addChildren([
159148
LayoutAdminRoute,
160149
LayoutFaceRecognitionRoute,
161150
LayoutItemsRoute,
162-
LayoutPassengerdensityheatmapRoute,
163151
LayoutRoadDetectionRoute,
164152
LayoutSettingsRoute,
165153
LayoutTrafficAnalysisRoute,

frontend/src/routes/_layout/traffic-analysis.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { Container, Heading, Tabs, Text } from "@chakra-ui/react"
33
import { createFileRoute, useNavigate } from "@tanstack/react-router"
44
import PassengerCountChart from '../../components/Traffic_analysis/PassengerCountChart'
55
import VehicleTrajectory from '../../components/Traffic_analysis/VehicleTrajectory'
6+
import PassengerDensityHeatMap from '../../components/Traffic_analysis/PassengerDensityHeatMap'
67

78
export const Route = createFileRoute("/_layout/traffic-analysis")({
89
component: TrafficAnalysis,
@@ -16,15 +17,13 @@ function TrafficAnalysis() {
1617
<Heading size="lg" pt={12}>交通数据分析</Heading>
1718
<Tabs.Root defaultValue="pickup-density" variant="subtle" mt={6}>
1819
<Tabs.List>
19-
<Tabs.Trigger value="pickup-density" onClick={() => navigate({ to: "/passenger_density_heat_map" })}>上客点密度分析</Tabs.Trigger>
20+
<Tabs.Trigger value="pickup-density">上客点密度分析</Tabs.Trigger>
2021
<Tabs.Trigger value="vehicle-trajectory">车辆轨迹可视化</Tabs.Trigger>
21-
<Tabs.Trigger value="static-heatmap">静态热力图</Tabs.Trigger>
2222
<Tabs.Trigger value="statistics">统计数据</Tabs.Trigger>
2323
</Tabs.List>
2424
<Tabs.Content value="pickup-density">
2525
<Container maxW="full" mt={4}>
26-
<Text>这里是上客点密度分析模块。</Text>
27-
<Text mt={2}>可以显示各个上客点的密度分布情况。</Text>
26+
<PassengerDensityHeatMap />
2827
</Container>
2928
</Tabs.Content>
3029
<Tabs.Content value="vehicle-trajectory">

0 commit comments

Comments
 (0)