trackme share: round coords to 5 decimals (~1m) to shrink the payload
This commit is contained in:
parent
65a21543d2
commit
aae9c55e1a
1 changed files with 6 additions and 3 deletions
|
|
@ -4883,16 +4883,19 @@ async function shareRideContext() {
|
||||||
let token = (localStorage.getItem("baldav_live_token") || "").trim();
|
let token = (localStorage.getItem("baldav_live_token") || "").trim();
|
||||||
if (!url || !token) { appAlert("Сначала задай адрес и токен трансляции в профиле"); return; }
|
if (!url || !token) { appAlert("Сначала задай адрес и токен трансляции в профиле"); return; }
|
||||||
let shareUrl = url.endsWith("/push") ? url.slice(0, -5) + "/share" : url.replace(/\/[^/]*$/, "/share");
|
let shareUrl = url.endsWith("/push") ? url.slice(0, -5) + "/share" : url.replace(/\/[^/]*$/, "/share");
|
||||||
let track = (GPS.recording.points || []).map(p => [+p.lat, +p.lon]);
|
// Round coords to 5 decimals (~1 m) — enough to draw, and cuts the payload a lot
|
||||||
|
// (full doubles are ~2x longer). Roads can be big; this keeps the POST reasonable.
|
||||||
|
let r5 = v => Math.round((+v) * 1e5) / 1e5;
|
||||||
|
let track = (GPS.recording.points || []).map(p => [r5(p.lat), r5(p.lon)]);
|
||||||
let route = [];
|
let route = [];
|
||||||
try {
|
try {
|
||||||
let rid = localStorage.getItem("baldav_active_route");
|
let rid = localStorage.getItem("baldav_active_route");
|
||||||
if (rid) { let r = await DB.getRoute(rid); if (r && r.points) route = r.points.map(p => [+p.lat, +p.lon]); }
|
if (rid) { let r = await DB.getRoute(rid); if (r && r.points) route = r.points.map(p => [r5(p.lat), r5(p.lon)]); }
|
||||||
} catch (e) {}
|
} catch (e) {}
|
||||||
let roads = [];
|
let roads = [];
|
||||||
try {
|
try {
|
||||||
let segs = buildRoadSegments(await DB.getRoadPoints());
|
let segs = buildRoadSegments(await DB.getRoadPoints());
|
||||||
roads = segs.map(s => ({ p: s.pts.map(q => [+q.lat, +q.lon]), t: s.atype || "b" }));
|
roads = segs.map(s => ({ p: s.pts.map(q => [r5(q.lat), r5(q.lon)]), t: s.atype || "b" }));
|
||||||
} catch (e) {}
|
} catch (e) {}
|
||||||
showToast("Отдаю смотрящему...");
|
showToast("Отдаю смотрящему...");
|
||||||
try {
|
try {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue