From 352f21e3990dbbe5ae47a44e637f0551e535ae2d Mon Sep 17 00:00:00 2001 From: jparmar32 Date: Wed, 21 Dec 2016 13:04:58 -0500 Subject: [PATCH 1/2] Update tracker.js Add functions to get tracker and location based on id tag and within a certain distance --- mobility-track-nodejs/controllers/tracker.js | 37 ++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/mobility-track-nodejs/controllers/tracker.js b/mobility-track-nodejs/controllers/tracker.js index b4577aa..e537ca5 100644 --- a/mobility-track-nodejs/controllers/tracker.js +++ b/mobility-track-nodejs/controllers/tracker.js @@ -209,4 +209,41 @@ exports.listLocationsById = function(req, res){ res.send(rcd); }); } +exports.locationAndTrackerByIdTag = function (req, res) { + Tracker.find({ "_id": req.params.id }, function (err, rcd) { + if(err) console.log(err); + res.setHeader('content-type', 'application/json'); + res.send(rcd); + }); + TrackerLocations.find({"id" : req.params.id}, function(err, rcd){ + if(err) console.log(err); + res.setHeader('content-type', 'application/json'); + res.send(rcd); + }); +} +exports.locationAndTrackerByDistance = function (req, res, givenLong,givenLat, xdistance) { + Tracker.find(function(err, data){ + if(err) console.log(err); + data.forEach(function(entry) { + var tracker = entry.toObject(); + TrackerLocations.find(function (err, data) { + if (err) { console.log(err); res.send([]); return; } + if (!data[0]) { console.log('No data for '+req.params.id); res.send([]); return; } + res.setHeader('content-type','application/json'); + tracker.data = data[0].data; + tracker.longitude = data[0].data[data[0].data.length-1].o; + tracker.latitude = data[0].data[data[0].data.length-1].a; + var difInLat = givenLat - tracker.latitude; + var difInLong = givenLong - tracker.longitude; + var xdistancesquared = xdistance*xdistance; + var difInPos = difInLat*difInLat + difInLong*difInLong; + if(difInPos < xdistancesquared){ + res.send([tracker]); + } + + }); + + }); + }); +} From dbad62d9a0a6c427200fa44c9d932cdea8e03886 Mon Sep 17 00:00:00 2001 From: jparmar32 Date: Fri, 23 Dec 2016 09:20:06 -0500 Subject: [PATCH 2/2] Update Tracker.js --- mobility-track-nodejs/controllers/tracker.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/mobility-track-nodejs/controllers/tracker.js b/mobility-track-nodejs/controllers/tracker.js index e537ca5..4c0bcd1 100644 --- a/mobility-track-nodejs/controllers/tracker.js +++ b/mobility-track-nodejs/controllers/tracker.js @@ -232,11 +232,9 @@ exports.locationAndTrackerByDistance = function (req, res, givenLong,givenLat, x res.setHeader('content-type','application/json'); tracker.data = data[0].data; tracker.longitude = data[0].data[data[0].data.length-1].o; - tracker.latitude = data[0].data[data[0].data.length-1].a; - var difInLat = givenLat - tracker.latitude; - var difInLong = givenLong - tracker.longitude; + tracker.latitude = data[0].data[data[0].data.length-1].a var xdistancesquared = xdistance*xdistance; - var difInPos = difInLat*difInLat + difInLong*difInLong; + var difInPos = (givenLat - tracker.latitude)*(givenLat - tracker.latitude) + (givenLong - tracker.longitude)*(givenLong - tracker.longitude); if(difInPos < xdistancesquared){ res.send([tracker]); }