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