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
//! Contains the `Bounds` struct and its associated traits. It is used to //! specify a selection or bounding box over a geographic area using two //! latitude & longitude pairs. use crate::latlng::LatLng; use serde::{Serialize, Deserialize}; /// Contains the recommended viewport for displaying the returned result, /// specified as two latitude & longitude values defining the southwest and /// northeast corner of the viewport bounding box. Generally the viewport is /// used to frame a result when displaying it to a user. #[derive(Clone, Debug, PartialEq, PartialOrd, Serialize, Deserialize)] pub struct Bounds { /// South-west or bottom-left corner of the bounding box. pub southwest: LatLng, /// North-east or top-right corner of the bounding box. pub northeast: LatLng, } // struct impl std::convert::From<&Bounds> for String { /// Converts a `Bounds` struct to a `String` that contains two /// latitude & longitude pairs that represent a bounding box. fn from(bounds: &Bounds) -> String { format!( "{},{}|{},{}", bounds.southwest.lat, bounds.southwest.lng, bounds.northeast.lat, bounds.northeast.lng, ) // format! } // fn } // impl