1<?php
2/*
3 * Copyright 2014 Google Inc.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6 * use this file except in compliance with the License. You may obtain a copy of
7 * the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 * License for the specific language governing permissions and limitations under
15 * the License.
16 */
17
18namespace Google\Service;
19
20use Google\Client;
21
22/**
23 * Service definition for SemanticTile (v1).
24 *
25 * <p>
26 * Serves vector tiles containing geospatial data.</p>
27 *
28 * <p>
29 * For more information about this service, see the API
30 * <a href="https://developers.google.com/maps/contact-sales/" target="_blank">Documentation</a>
31 * </p>
32 *
33 * @author Google, Inc.
34 */
35class SemanticTile extends \Google\Service
36{
37
38
39  public $featuretiles;
40  public $terraintiles;
41
42  /**
43   * Constructs the internal representation of the SemanticTile service.
44   *
45   * @param Client|array $clientOrConfig The client used to deliver requests, or a
46   *                                     config array to pass to a new Client instance.
47   * @param string $rootUrl The root URL used for requests to the service.
48   */
49  public function __construct($clientOrConfig = [], $rootUrl = null)
50  {
51    parent::__construct($clientOrConfig);
52    $this->rootUrl = $rootUrl ?: 'https://vectortile.googleapis.com/';
53    $this->servicePath = '';
54    $this->batchPath = 'batch';
55    $this->version = 'v1';
56    $this->serviceName = 'vectortile';
57
58    $this->featuretiles = new SemanticTile\Resource\Featuretiles(
59        $this,
60        $this->serviceName,
61        'featuretiles',
62        [
63          'methods' => [
64            'get' => [
65              'path' => 'v1/{+name}',
66              'httpMethod' => 'GET',
67              'parameters' => [
68                'name' => [
69                  'location' => 'path',
70                  'type' => 'string',
71                  'required' => true,
72                ],
73                'alwaysIncludeBuildingFootprints' => [
74                  'location' => 'query',
75                  'type' => 'boolean',
76                ],
77                'clientInfo.apiClient' => [
78                  'location' => 'query',
79                  'type' => 'string',
80                ],
81                'clientInfo.applicationId' => [
82                  'location' => 'query',
83                  'type' => 'string',
84                ],
85                'clientInfo.applicationVersion' => [
86                  'location' => 'query',
87                  'type' => 'string',
88                ],
89                'clientInfo.deviceModel' => [
90                  'location' => 'query',
91                  'type' => 'string',
92                ],
93                'clientInfo.operatingSystem' => [
94                  'location' => 'query',
95                  'type' => 'string',
96                ],
97                'clientInfo.platform' => [
98                  'location' => 'query',
99                  'type' => 'string',
100                ],
101                'clientInfo.userId' => [
102                  'location' => 'query',
103                  'type' => 'string',
104                ],
105                'clientTileVersionId' => [
106                  'location' => 'query',
107                  'type' => 'string',
108                ],
109                'enableDetailedHighwayTypes' => [
110                  'location' => 'query',
111                  'type' => 'boolean',
112                ],
113                'enableFeatureNames' => [
114                  'location' => 'query',
115                  'type' => 'boolean',
116                ],
117                'enableModeledVolumes' => [
118                  'location' => 'query',
119                  'type' => 'boolean',
120                ],
121                'enablePoliticalFeatures' => [
122                  'location' => 'query',
123                  'type' => 'boolean',
124                ],
125                'enablePrivateRoads' => [
126                  'location' => 'query',
127                  'type' => 'boolean',
128                ],
129                'enableUnclippedBuildings' => [
130                  'location' => 'query',
131                  'type' => 'boolean',
132                ],
133                'languageCode' => [
134                  'location' => 'query',
135                  'type' => 'string',
136                ],
137                'regionCode' => [
138                  'location' => 'query',
139                  'type' => 'string',
140                ],
141              ],
142            ],
143          ]
144        ]
145    );
146    $this->terraintiles = new SemanticTile\Resource\Terraintiles(
147        $this,
148        $this->serviceName,
149        'terraintiles',
150        [
151          'methods' => [
152            'get' => [
153              'path' => 'v1/{+name}',
154              'httpMethod' => 'GET',
155              'parameters' => [
156                'name' => [
157                  'location' => 'path',
158                  'type' => 'string',
159                  'required' => true,
160                ],
161                'altitudePrecisionCentimeters' => [
162                  'location' => 'query',
163                  'type' => 'integer',
164                ],
165                'clientInfo.apiClient' => [
166                  'location' => 'query',
167                  'type' => 'string',
168                ],
169                'clientInfo.applicationId' => [
170                  'location' => 'query',
171                  'type' => 'string',
172                ],
173                'clientInfo.applicationVersion' => [
174                  'location' => 'query',
175                  'type' => 'string',
176                ],
177                'clientInfo.deviceModel' => [
178                  'location' => 'query',
179                  'type' => 'string',
180                ],
181                'clientInfo.operatingSystem' => [
182                  'location' => 'query',
183                  'type' => 'string',
184                ],
185                'clientInfo.platform' => [
186                  'location' => 'query',
187                  'type' => 'string',
188                ],
189                'clientInfo.userId' => [
190                  'location' => 'query',
191                  'type' => 'string',
192                ],
193                'maxElevationResolutionCells' => [
194                  'location' => 'query',
195                  'type' => 'integer',
196                ],
197                'minElevationResolutionCells' => [
198                  'location' => 'query',
199                  'type' => 'integer',
200                ],
201                'terrainFormats' => [
202                  'location' => 'query',
203                  'type' => 'string',
204                  'repeated' => true,
205                ],
206              ],
207            ],
208          ]
209        ]
210    );
211  }
212}
213
214// Adding a class alias for backwards compatibility with the previous class name.
215class_alias(SemanticTile::class, 'Google_Service_SemanticTile');
216