# frozen_string_literal: true # Copyright 2024 Google LLC # # 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 # # https://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. # Auto-generated by gapic-generator-ruby. DO NOT EDIT! module Google module Geo module Type # A latitude-longitude viewport, represented as two diagonally opposite `low` # and `high` points. A viewport is considered a closed region, i.e. it includes # its boundary. The latitude bounds must range between -90 to 90 degrees # inclusive, and the longitude bounds must range between -180 to 180 degrees # inclusive. Various cases include: # # - If `low` = `high`, the viewport consists of that single point. # # - If `low.longitude` > `high.longitude`, the longitude range is inverted # (the viewport crosses the 180 degree longitude line). # # - If `low.longitude` = -180 degrees and `high.longitude` = 180 degrees, # the viewport includes all longitudes. # # - If `low.longitude` = 180 degrees and `high.longitude` = -180 degrees, # the longitude range is empty. # # - If `low.latitude` > `high.latitude`, the latitude range is empty. # # Both `low` and `high` must be populated, and the represented box cannot be # empty (as specified by the definitions above). An empty viewport will result # in an error. # # For example, this viewport fully encloses New York City: # # { # "low": { # "latitude": 40.477398, # "longitude": -74.259087 # }, # "high": { # "latitude": 40.91618, # "longitude": -73.70018 # } # } # @!attribute [rw] low # @return [::Google::Type::LatLng] # Required. The low point of the viewport. # @!attribute [rw] high # @return [::Google::Type::LatLng] # Required. The high point of the viewport. class Viewport include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end end end