Coordinates.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /*
  2. *
  3. * Licensed to the Apache Software Foundation (ASF) under one
  4. * or more contributor license agreements. See the NOTICE file
  5. * distributed with this work for additional information
  6. * regarding copyright ownership. The ASF licenses this file
  7. * to you under the Apache License, Version 2.0 (the
  8. * "License"); you may not use this file except in compliance
  9. * with the License. You may obtain a copy of the License at
  10. *
  11. * http://www.apache.org/licenses/LICENSE-2.0
  12. *
  13. * Unless required by applicable law or agreed to in writing,
  14. * software distributed under the License is distributed on an
  15. * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  16. * KIND, either express or implied. See the License for the
  17. * specific language governing permissions and limitations
  18. * under the License.
  19. *
  20. */
  21. /**
  22. * This class contains position information.
  23. * @param {Object} lat
  24. * @param {Object} lng
  25. * @param {Object} alt
  26. * @param {Object} acc
  27. * @param {Object} head
  28. * @param {Object} vel
  29. * @param {Object} altacc
  30. * @constructor
  31. */
  32. var Coordinates = function (lat, lng, alt, acc, head, vel, altacc) {
  33. /**
  34. * The latitude of the position.
  35. */
  36. this.latitude = lat;
  37. /**
  38. * The longitude of the position,
  39. */
  40. this.longitude = lng;
  41. /**
  42. * The accuracy of the position.
  43. */
  44. this.accuracy = acc;
  45. /**
  46. * The altitude of the position.
  47. */
  48. this.altitude = (alt !== undefined ? alt : null);
  49. /**
  50. * The direction the device is moving at the position.
  51. */
  52. this.heading = (head !== undefined ? head : null);
  53. /**
  54. * The velocity with which the device is moving at the position.
  55. */
  56. this.speed = (vel !== undefined ? vel : null);
  57. if (this.speed === 0 || this.speed === null) {
  58. this.heading = NaN;
  59. }
  60. /**
  61. * The altitude accuracy of the position.
  62. */
  63. this.altitudeAccuracy = (altacc !== undefined) ? altacc : null;
  64. };
  65. module.exports = Coordinates;