| // Copyright 2015 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| [DartPackage="mojo_services"] |
| module mojo; |
| |
| // A location fix representing a geographic location (latitude, longitude, time) |
| // and associated information like altitude, bearing, etc. |
| // |
| // This is based on |
| // http://developer.android.com/reference/android/location/Location.html . |
| struct Location { |
| // UTC time of this fix, in milliseconds since January 1, 1970. |
| uint64 time; |
| |
| // Time of this fix, in elapsed real-time since some fixed reference point. |
| // The refernce point may depend on the underlying platform and should only |
| // be used for comparison within the same connection. |
| // For example, android may use system boot as a reference point. |
| bool has_elapsed_real_time_nanos = false; |
| uint64 elapsed_real_time_nanos; |
| |
| // In degrees. |
| double latitude; |
| |
| // In degrees. |
| double longitude; |
| |
| // Altitude in meters above the WGS 84 reference ellipsoid. |
| bool has_altitude = false; |
| double altitude; |
| |
| // Speed in meters/second over ground. |
| bool has_speed = false; |
| float speed; |
| |
| // In degrees. |
| bool has_bearing = false; |
| float bearing; |
| |
| // Estimated accuracy of this fix in meters. |
| bool has_accuracy = false; |
| float accuracy; |
| }; |