waze-api
Version:
Node.js wrapper for waze.
25 lines (24 loc) • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.WazeAPI = void 0;
const common_1 = require("./common");
class WazeAPI {
constructor() {
this.infoUrl = "https://www.waze.com/row-rtserver/web/TGeoRSS";
this.pathsUrl = "https://www.waze.com/live-map/api/user-drive?geo_env=row";
}
base_(lat, lng, opts) {
const deltaV = lat * 0.012;
const deltaH = lng * 0.0016;
return `${this.infoUrl}?bottom=${lat - deltaV}&left=${lng + deltaH}&ma=200&mj=200&mu=20&right=${lng - deltaH}&top=${lat + deltaV}&${(0, common_1.stringifyQueryParams)((0, common_1.generateParams)(opts || { hideAlerts: false, hideTraffic: false, hideUsers: false }))}`;
}
getInfo(lat, lng, options) {
return (0, common_1.request)(this.base_(lat, lng, options), "GET");
}
getPaths(options) {
if (!options || typeof options !== "object")
throw new Error("Please provide valid options.");
return (0, common_1.request)(this.pathsUrl, "POST", options);
}
}
exports.WazeAPI = WazeAPI;