1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
/*
* Copyright 2017 Google
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/type/latlng.proto
// This CPP symbol can be defined to use imports that match up to the framework
// imports needed when using CocoaPods.
#if !defined(GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS)
#define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0
#endif
#if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS
#import <Protobuf/GPBProtocolBuffers.h>
#else
#import "GPBProtocolBuffers.h"
#endif
#if GOOGLE_PROTOBUF_OBJC_VERSION < 30002
#error This file was generated by a newer version of protoc which is incompatible with your Protocol Buffer library sources.
#endif
#if 30002 < GOOGLE_PROTOBUF_OBJC_MIN_SUPPORTED_VERSION
#error This file was generated by an older version of protoc which is incompatible with your Protocol Buffer library sources.
#endif
// @@protoc_insertion_point(imports)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
CF_EXTERN_C_BEGIN
NS_ASSUME_NONNULL_BEGIN
#pragma mark - GTPLatlngRoot
/**
* Exposes the extension registry for this file.
*
* The base class provides:
* @code
* + (GPBExtensionRegistry *)extensionRegistry;
* @endcode
* which is a @c GPBExtensionRegistry that includes all the extensions defined by
* this file and all files that it depends on.
**/
@interface GTPLatlngRoot : GPBRootObject
@end
#pragma mark - GTPLatLng
typedef GPB_ENUM(GTPLatLng_FieldNumber) {
GTPLatLng_FieldNumber_Latitude = 1,
GTPLatLng_FieldNumber_Longitude = 2,
};
/**
* An object representing a latitude/longitude pair. This is expressed as a pair
* of doubles representing degrees latitude and degrees longitude. Unless
* specified otherwise, this must conform to the
* <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
* standard</a>. Values must be within normalized ranges.
*
* Example of normalization code in Python:
*
* def NormalizeLongitude(longitude):
* """Wraps decimal degrees longitude to [-180.0, 180.0]."""
* q, r = divmod(longitude, 360.0)
* if r > 180.0 or (r == 180.0 and q <= -1.0):
* return r - 360.0
* return r
*
* def NormalizeLatLng(latitude, longitude):
* """Wraps decimal degrees latitude and longitude to
* [-90.0, 90.0] and [-180.0, 180.0], respectively."""
* r = latitude % 360.0
* if r <= 90.0:
* return r, NormalizeLongitude(longitude)
* elif r >= 270.0:
* return r - 360, NormalizeLongitude(longitude)
* else:
* return 180 - r, NormalizeLongitude(longitude + 180.0)
*
* assert 180.0 == NormalizeLongitude(180.0)
* assert -180.0 == NormalizeLongitude(-180.0)
* assert -179.0 == NormalizeLongitude(181.0)
* assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
* assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
* assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
* assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
* assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
* assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
* assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
* assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
* assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
* assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
**/
@interface GTPLatLng : GPBMessage
/** The latitude in degrees. It must be in the range [-90.0, +90.0]. */
@property(nonatomic, readwrite) double latitude;
/** The longitude in degrees. It must be in the range [-180.0, +180.0]. */
@property(nonatomic, readwrite) double longitude;
@end
NS_ASSUME_NONNULL_END
CF_EXTERN_C_END
#pragma clang diagnostic pop
// @@protoc_insertion_point(global_scope)
|