feat(gps): режим «потерян GPS» — LBS-точки помечаются (is_lbs), примерная позиция на карте, пунктир в треке; OSRM map matching трека (matched endpoint + переключатель «По дорогам»)
This commit is contained in:
@@ -91,12 +91,14 @@ export function useGpsGeozoneEvents(filters: { assetId?: number; geozoneId?: num
|
||||
});
|
||||
}
|
||||
|
||||
/** Трек объекта за период; загружается только при enabled (по кнопке «Показать») */
|
||||
export function useGpsTrack(assetId: number | null, from: string, to: string, enabled: boolean) {
|
||||
/** Трек объекта за период; загружается только при enabled (по кнопке «Показать»).
|
||||
* matched=true — дополнительно запрашивает линию по дорогам (OSRM) */
|
||||
export function useGpsTrack(assetId: number | null, from: string, to: string, enabled: boolean, matched = false) {
|
||||
return useQuery<GpsTrackResponse>({
|
||||
queryKey: ['/api/gps/assets', assetId, 'track', from, to],
|
||||
queryKey: ['/api/gps/assets', assetId, 'track', from, to, matched],
|
||||
queryFn: async () => {
|
||||
const params = new URLSearchParams({ from, to });
|
||||
if (matched) params.set('matched', '1');
|
||||
const res = await apiRequest('GET', `/api/gps/assets/${assetId}/track?${params.toString()}`);
|
||||
return res.json();
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user