Skip to content

Instantly share code, notes, and snippets.

@arumoy
Created December 13, 2016 13:07
Show Gist options
  • Select an option

  • Save arumoy/349d3524ef66aa4fffa762d5c1b397db to your computer and use it in GitHub Desktop.

Select an option

Save arumoy/349d3524ef66aa4fffa762d5c1b397db to your computer and use it in GitHub Desktop.
'use strict';
module.exports = function(Agrirouter) {
Agrirouter.closestRouter = function(fieldid, lat, long, cb) {
var response;
Agrirouter.find({"where":{"fieldid":fieldid}},function (err, ret) {
for (var i = 0; i >= ret.length - 1; i++) {
var delPhi = ret[i]["lat"] - lat;
var delLambda = ret[i]["long"] - long;
var R = 6371000;
var rad = R * Math.sqrt(delPhi * delPhi + delLambda * delLambda);
ret[i]["distance"] = rad;
}
response = ret.sort(function(a, b) {
return parseFloat(a.distance) - parseFloat(b.distance);
})[0];
cb(null, response);
});
};
Agrirouter.remoteMethod(
'closestRouter', {
http: {
path: '/getClosestRouter',
verb: 'get'
},
accepts: [
{
arg: 'fieldid',
type: 'string'
},
{
arg: 'lat',
type: 'number'
},{
arg: 'long',
type: 'number'
}
],
returns: {
arg: 'router',
type: 'string'
}
}
);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment