Last active
February 14, 2019 01:14
-
-
Save ming-chu/b1b4c505fd5d0f9079ab94211000ef29 to your computer and use it in GitHub Desktop.
Just the Shop Object Structure
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
struct Shop: Codable { | |
struct MapMarker: Codable { | |
var id: Int | |
var description: String | |
var imagePath: String | |
var created_at: String? | |
var updated_at: String? | |
} | |
struct Tag: Codable { | |
var id: Int | |
var title: String | |
var bgColor: String | |
var textColor: String | |
} | |
struct TelNumber: Codable { | |
var id: Int | |
var telNumber: String | |
var type: String? | |
} | |
struct Link: Codable { | |
var id: Int | |
var link: String | |
} | |
var id: Int | |
var nameEn: String? | |
var nameTw: String? | |
var nameZhsc: String? | |
var addrEn: String? | |
var addrTw: String? | |
var addrZhsc: String? | |
var lat: Double | |
var lon: Double | |
var remarkEn: String? | |
var remarkTw: String? | |
var remarkZhsc: String? | |
var shopPhotoPath: String? | |
var shopPhotoLargePath: String? | |
var created_at: String? | |
var updated_at: String? | |
var openingTime: String? | |
var mapMarker: MapMarker | |
var tags: [Tag] | |
var telNumbers: [TelNumber] | |
var links: [Link] | |
var shopLocation: CLLocation { | |
return CLLocation(latitude: self.lat, longitude: self.lon) | |
} | |
var tagsCSV: String { | |
return self.tags.map({ $0.title }).joined(separator: ",") | |
} | |
func calculateDistanceInMeters(from location: CLLocation?) -> Double { | |
guard let location = location else { return 0 } | |
let distanceInMeters = location.distance(from: self.shopLocation) | |
let displayDistanceInMeters = (distanceInMeters/1000.0).roundToDecimal(1) | |
return displayDistanceInMeters | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment