Source: bemap-model/bemap-destination.js

/**
 * BeNomad BeMap JavaScript API - Destination class
 */

/**
 * @classdesc
 * Base class for geographical coordinate used for a routing calculation.
 * @public
 * @constructor
 * @param {double} lon Longitude in degrees decimal (WGS84).
 * @param {double} lat Latitude in degrees decimal (WGS84).
 * @param {Object} options To set all fields of this class.
 */
bemap.Destination = function(lon, lat, options) {
  var opts = options || {};

  /**
   * (optional) altitude in meters.
   */
  this.altitude = opts.altitude ? opts.altitude : undefined;

  /**
   * (optional) heading angle in degrees. For BeNomad engine: If the angle is not available, set this field and speed field to 0.
   */
  this.heading = opts.heading ? opts.heading : undefined;

  /**
   * (optional) speed in km/h. For BeNomad engine: Use this field only if the heading is available.
   */
  this.speed = opts.speed ? opts.speed : undefined;

  /**
   * (optional) time stamp of GPS coordinate in milliseconds.
   */
  this.time = opts.time ? opts.time : undefined;

  /**
   * (optional) number of available GPS satellite when the coordinate is collected.
   */
  this.satellite = opts.satellite ? opts.satellite : undefined;

  /**
   * (optional) radius in meters of the waypoint.
   */
  this.radius = opts.radius ? opts.radius : undefined;

  /**
   * (optional) defines if this waypoint is ignored by the planner for its route calculation. Available values are true or false.
   */
  this.ignorePoint = opts.ignorePoint ? opts.ignorePoint : undefined;

  /**
   * (optional) Defines if traffic directions should be ignored by route planner between this waypoint and next one. Available values are true or false.
   */
  this.ignoreTrafficDirections = opts.ignoreTrafficDirections ? opts.ignoreTrafficDirections : undefined;

  /**
   * (optional) Defines if road blocks should be ignored by route planner between this waypoint and next one. Available values are true or false.
   */
  this.ignoreRoadBlocks = opts.ignoreRoadBlocks ? opts.ignoreRoadBlocks : undefined;

  /**
   * (optional) Defines if forbidden maneuvers and blocked passages should be ignored by route planner between this waypoint and next one. Available values are true or false.
   */
  this.ignoreRestrictions = opts.ignoreRestrictions ? opts.ignoreRestrictions : undefined;

  /**
   * (optional) Defines if a UTurn should be avoided (if possible) by route planner at this location. Available values are YES, NO or UNDEF.
   */
  this.avoidUTurn = opts.avoidUTurn ? opts.avoidUTurn : undefined;

  /**
   * (optional) If true and location is on is on a 2 way road, location's angle will be used as a general direction for departure from location. Available values are YES, NO or UNDEF.
   */
  this.useStartAngle = opts.useStartAngle ? opts.useStartAngle : undefined;

  /**
   * (optional) Defines if route planner must arrive on this waypoint on waypoint's side (if waypoint is on a 2 way road). Available values are YES, NO or UNDEF.
   */
  this.useStopRoadSide = opts.useStopRoadSide ? opts.useStopRoadSide : undefined;

  /**
   * (optional) If mandatory is set to true, the coordinate will be kept in the way-points response array. Available values are true or false.
   */
  this.mandatory = opts.mandatory ? opts.mandatory : undefined;

  bemap.Coordinate.call(this, lon, lat, options);
};
bemap.inherits(bemap.Destination, bemap.Coordinate);