diff options
Diffstat (limited to 'iosApp/iosApp/Map/MapViewController.swift')
-rw-r--r-- | iosApp/iosApp/Map/MapViewController.swift | 36 |
1 files changed, 22 insertions, 14 deletions
diff --git a/iosApp/iosApp/Map/MapViewController.swift b/iosApp/iosApp/Map/MapViewController.swift index a320781..f424389 100644 --- a/iosApp/iosApp/Map/MapViewController.swift +++ b/iosApp/iosApp/Map/MapViewController.swift @@ -224,14 +224,14 @@ class OurMaplyViewController: MaplyViewController { Float(marker.latitude)) } - let fontSize = 11.0 + let fontSize = Constants.markerLabelTextSize let colorReport = UIColor(red: 0.0, green: 0.5, blue: 0.0, alpha: 1.0) let colorLabel = UIColor.darkGray let colorLabelOutline = UIColor.white let vectorDesc: [AnyHashable : Any] = [ kMaplyColor: colorReport, - kMaplyVecWidth: 12.0, + kMaplyVecWidth: Constants.reportLineWidth, kMaplyWideVecImpl: kMaplyWideVecImplPerf ] @@ -248,26 +248,26 @@ class OurMaplyViewController: MaplyViewController { screenMarker.layoutImportance = .greatestFiniteMagnitude screenMarker.loc = MaplyCoordinateMakeWithDegrees(Float(marker.longitude), Float(marker.latitude)) - var type: Marker.Type_ = .default_ + var image: UIImage if isReport { // For reports, position, start and end icons must be different switch i { - case markers.startIndex: type = .reportStart - case markers.endIndex - 1: type = .reportEnd - default: type = .reportPosition + case markers.startIndex: image = getIcon(markerType: .reportStart) + case markers.endIndex - 1: image = getIcon(markerType: .reportEnd) + default: image = getIcon(forDirection: points[i], to: points[i + 1]) } } else { - type = marker.type + image = getIcon(markerType: marker.type) } - screenMarker.image = getIcon(markerType: type) + screenMarker.image = image - var size = 50.0 + var size = Constants.markerSize if isReport { // For reports, position, start and end sizes must be different switch i { - case markers.startIndex: size = 40.0 - case markers.endIndex - 1: size = 40.0 - default: size = 22.0 + case markers.startIndex: size = Constants.markerSize + case markers.endIndex - 1: size = Constants.markerSize + default: size = Constants.vertexsize } } screenMarker.size = CGSize(width: size, height: size) @@ -342,14 +342,14 @@ class OurMaplyViewController: MaplyViewController { func display(geofences: [Geofence]) { clear(geofences: true) - let fontSize = 11.0 + let fontSize = Constants.geofenceLabelTextSize let colorFill = UIColor(red: 0.10, green: 0.46, blue: 0.82, alpha: 1.00) let colorLabel = UIColor(red: 0.10, green: 0.46, blue: 0.82, alpha: 1.00) let colorLabelOutline = UIColor.white let vectorDesc: [AnyHashable : Any] = [ kMaplyColor: colorFill, - kMaplyVecWidth: 12.0, + kMaplyVecWidth: Constants.geofenceLineWidth, kMaplyWideVecImpl: kMaplyWideVecImplPerf ] @@ -439,4 +439,12 @@ class OurMaplyViewController: MaplyViewController { return UIImage(named: MarkerTransformations .markerTypeToImageName(markerType: markerType))! } + + private func getIcon(forDirection a: MaplyCoordinate, to b: MaplyCoordinate) -> UIImage { + let vectorX = b.x - a.x + let vectorY = b.y - a.y + let angleRad = atan2(vectorY, vectorX) + return UIImage(named: MarkerTransformations + .angleToImageName(rad: angleRad))! + } } |