File indexing completed on 2024-05-12 04:42:55

0001 /*
0002     SPDX-FileCopyrightText: 2023 Kai Uwe Broulik <kde@broulik.de>
0003     SPDX-License-Identifier: LGPL-2.0-or-later
0004 */
0005 
0006 function parsePositions(response)
0007 {
0008     let mostRecentTime = 0;
0009     let mostRecentIdx = 0;
0010 
0011     // TODO pass ?from_timestamp= URL query to limit number of results.
0012     for (let i = 0; i < response.length; ++i) {
0013         const position = response[i];
0014         const timeStamp = new Date(position.created_at).getTime();
0015 
0016         if (timeStamp > mostRecentTime) {
0017             mostRecentTime = timeStamp;
0018             mostRecentIdx = i;
0019         }
0020     }
0021 
0022     const position = response[mostRecentIdx];
0023 
0024     let result = {
0025         latitude = position.latitude,
0026         longitude = position.longitude,
0027         altitude = position.altitude_meters,
0028         timestamp = position.created_at,
0029     };
0030 
0031     if (position.speed_kilometers_per_hour !== null) {
0032         result.speed = position.speed_kilometers_per_hour;
0033     }
0034     if (position.bearing_in_degree !== null) {
0035         result.heading = position.bearing_in_degree;
0036     }
0037 
0038     return result
0039 }
0040