//
|
// GoogleModel.swift
|
// BrokerDriver
|
//
|
// Created by 无故事王国 on 2023/5/6.
|
//
|
|
import Foundation
|
import HandyJSON
|
|
struct GoogleModel:HandyJSON {
|
var plus_code:PlusCode?
|
var results:[GoogleResult] = []
|
var status:String = ""
|
}
|
|
struct GoogleResult:HandyJSON {
|
var address_components:[AddressComponent] = []
|
var formatted_address:String = ""
|
var geometry:Geometry?
|
var place_id:String = ""
|
var plus_code:PlusCode?
|
var types:[String] = []
|
}
|
|
struct AddressComponent:HandyJSON {
|
var long_name:String = ""
|
var short_name:String = ""
|
var types:[String] = []
|
}
|
|
struct Geometry:HandyJSON {
|
var bounds : Bound!
|
var location : Northeast!
|
var location_type : String = ""
|
var viewport : Bound!
|
}
|
|
struct Bound:HandyJSON {
|
var northeast : Northeast?
|
var southwest : Northeast?
|
}
|
|
struct Northeast:HandyJSON {
|
var lat:CLLocationDegrees = 0
|
var lng:CLLocationDegrees = 0
|
}
|
|
struct PlusCode:HandyJSON {
|
var compound_code : String = ""
|
var global_code : String = ""
|
}
|
|
struct GooglePOIModel:HandyJSON {
|
var html_attributions = [String]()
|
var next_page_token = ""
|
var results = [GooglePOIResultModel]()
|
}
|
|
struct GooglePOIResultModel:HandyJSON{
|
var business_status : String = ""
|
var formatted_address = ""
|
var geometry : Geometry?
|
var icon : String = ""
|
var icon_background_color : String = ""
|
var icon_mask_base_uri : String = ""
|
var more_opening_hours : [AnyObject]!
|
var name : String = ""
|
var photos : [GoogleMapPhoto] = [GoogleMapPhoto]()
|
var place_id : String = ""
|
var plus_code : PlusCode?
|
var rating : Double = 0
|
var reference : String = ""
|
var scope : String = ""
|
var types : [String] = [String]()
|
var user_ratings_total : Int = 0
|
var vicinity : String = ""
|
|
}
|
|
struct GoogleMapPhoto:HandyJSON {
|
var height : Int = 0
|
var html_attributions = [String]()
|
var photo_reference : String = ""
|
var width : Int = 0
|
}
|
|
struct GoogleRoteModel:HandyJSON {
|
var status = ""
|
var routes = [GoogleRoteRouteModel]()
|
var geocoded_waypoints = [GoogleRoteWaypointModel]()
|
}
|
|
struct GoogleRoteWaypointModel:HandyJSON {
|
var geocoder_status = ""
|
var place_id = ""
|
var types = [String]()
|
}
|
|
struct GoogleRoteRouteModel:HandyJSON {
|
var bounds:Bound?
|
var copyrights:String = ""
|
var legs = [GoogleRoteRouteLegModel]()
|
}
|
struct GoogleRoteRouteLegModel:HandyJSON {
|
var distance : GoogleRoteDistanceModel?
|
var duration : GoogleRoteDistanceModel?
|
var duration_in_traffic : GoogleRoteDistanceModel?
|
var end_address : String = ""
|
var end_location : Northeast?
|
var start_address : String = ""
|
var start_location : Northeast?
|
var steps = [GoogleRoteStepModel]()
|
var traffic_speed_entry : [String] = []
|
var via_waypoint : [String] = []
|
}
|
|
struct GoogleRoteDistanceModel:HandyJSON{
|
var text : String = ""
|
var value : Int = 0
|
}
|
|
struct GoogleRoteStepModel:HandyJSON {
|
var distance : GoogleRoteDistanceModel?
|
var duration : GoogleRoteDistanceModel?
|
var end_location : Northeast?
|
var html_instructions : String = ""
|
var maneuver : String = ""
|
var polyline : GoogleRotePolylineModel?
|
var start_location : Northeast?
|
var travel_mode : String?
|
}
|
|
struct GoogleRotePolylineModel:HandyJSON {
|
var points : String!
|
}
|
|
|
struct SnappedPointsModel:HandyJSON{
|
var snappedPoints = [SnappedPointModel]()
|
}
|
|
struct SnappedPointModel:HandyJSON {
|
var location:SnappedLocationModel?
|
var originalIndex:Int = 0
|
var placeId = ""
|
}
|
|
struct SnappedLocationModel:HandyJSON {
|
var latitude:CLLocationDegrees?
|
var longitude:CLLocationDegrees?
|
}
|