Anonymous user
Geohash: Difference between revisions
m
→{{header|Swift}}: code improvement
(Minor tidying of task description.) |
m (→{{header|Swift}}: code improvement) |
||
Line 107:
=={{header|Swift}}==
<lang Swift>extension String {
subscript(i: Int) -> String {
String(self[index(startIndex, offsetBy: i)])
}
}
struct Coordinate {
func encodeGeohash (for location: Array<Double>, withPrecision precision: Int = 9) -> String {▼
var latitude: Double
var longitude: Double
}
let base32 = "0123456789bcdefghjkmnpqrstuvwxyz" // no "a", "i", "l", or "o"
▲func encodeGeohash (for location:
var latitudeRange = -90.0...90.0
var longitudeRange = -180...180.0
Line 119 ⟶ 130:
while (hash.count < precision) {
let val = even ? location
var range = even ? longitudeRange : latitudeRange
let mid = (range.lowerBound + range.upperBound) / 2
Line 141 ⟶ 152:
} else {
bits = 0
hash +=
hashVal = 0
}
|