1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "content/public/common/geoposition.h"
8 // Sentinel values to mark invalid data. (WebKit carries companion is_valid
9 // bools for this purpose; we may eventually follow that approach, but
10 // sentinels worked OK in the Gears code this is based on.)
11 const double kBadLatitudeLongitude
= 200;
12 // Lowest point on land is at approximately -400 meters.
13 const int kBadAltitude
= -10000;
14 const int kBadAccuracy
= -1; // Accuracy must be non-negative.
15 const int kBadHeading
= -1; // Heading must be non-negative.
16 const int kBadSpeed
= -1;
21 Geoposition::Geoposition()
22 : latitude(kBadLatitudeLongitude
),
23 longitude(kBadLatitudeLongitude
),
24 altitude(kBadAltitude
),
25 accuracy(kBadAccuracy
),
26 altitude_accuracy(kBadAccuracy
),
29 error_code(ERROR_CODE_NONE
) {
32 bool Geoposition::Validate() const {
33 return latitude
>= -90. && latitude
<= 90. &&
34 longitude
>= -180. && longitude
<= 180. &&
39 } // namespace content