Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Building extrusion highlights #2535

Merged
merged 52 commits into from
Aug 15, 2020
Merged
Show file tree
Hide file tree
Changes from 40 commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
2bdd7d3
WIP Building extrusions
d-prukop Aug 7, 2020
fdacf3d
Add BuildingExtrusionStyler to NavigationMapView with hardcoded coord…
MaximAlien Aug 7, 2020
2bd12e0
Working example
d-prukop Aug 8, 2020
ae101cf
Extract BuildingExtrusionStyler to be part of NavigationMapView. Remo…
MaximAlien Aug 8, 2020
6e06440
Remove code which is not used anywhere.
MaximAlien Aug 8, 2020
e948b1b
Remove duplicated logic in extrude method. Replace removeHighlights w…
MaximAlien Aug 8, 2020
ce0478a
Add ability to show extrusion layer for specific building and all bui…
MaximAlien Aug 8, 2020
4f6f1ed
Add ability to highlight building after arrival to final destination.…
MaximAlien Aug 8, 2020
eace9bf
Add ability to unhighlight buildings
d-prukop Aug 8, 2020
e366636
Added example of highlighting buildings during route selection. Clear…
d-prukop Aug 9, 2020
d35027a
Removed references to "buildingsPlus"
d-prukop Aug 10, 2020
02c05cc
Remove vanishing route line related layers in case of arrival to fina…
MaximAlien Aug 10, 2020
733854b
Add ability to filter out features based on attributes required for b…
MaximAlien Aug 11, 2020
a2f57cb
Public API signatures. Style hooks
d-prukop Aug 11, 2020
1a169e1
Simplified the API. Removed MGLMapViewDelegate from NavigationViewCon…
d-prukop Aug 11, 2020
7a108e6
Removed TODO
d-prukop Aug 11, 2020
30be497
Moved `highlightDestinationBuildings` function to NavigationMapView
d-prukop Aug 11, 2020
29be01e
Added flag for showing all buildings
d-prukop Aug 11, 2020
8c606f5
API updates
d-prukop Aug 11, 2020
b33d97b
highlightBuildings can accept nil for buildings
d-prukop Aug 12, 2020
6db0a48
Implement ability to zoom in to building after arriving to destination.
MaximAlien Aug 12, 2020
01ad5ef
Fixed issue in the example app where querying for buildings stops wor…
d-prukop Aug 12, 2020
9f4e8cc
Adjustments for cross-platform feature parity
d-prukop Aug 12, 2020
093b124
Removed boolean for 3d buildings to an argument in the highlightBuild…
d-prukop Aug 12, 2020
c5d5ca1
Changed name of building highlighting flag to be more generic
d-prukop Aug 12, 2020
ea1f86f
Reset opacity when unhighlighting buildings
d-prukop Aug 12, 2020
f0ca04e
Added a flag to NavigationViewController for 2d vs 3d building highli…
d-prukop Aug 12, 2020
d7b3aee
Documentation for building highlight feature
d-prukop Aug 12, 2020
1d44e55
Added documentation for `NavigationViewController.highlightBuildingsI…
d-prukop Aug 12, 2020
c526a38
Update comments to follow code-style and remove unused properties.
MaximAlien Aug 12, 2020
c43d7f5
Response to comments
d-prukop Aug 13, 2020
f9b1914
Remove buildingHighlightingEnabled and use public API methods directly.
MaximAlien Aug 13, 2020
71bb9e8
Updated changelog
d-prukop Aug 13, 2020
5a294ff
Improve logic to create highlighted buildings only in case of request…
MaximAlien Aug 13, 2020
3a77af2
Fix crash when adding highlight on the same building more than once. …
MaximAlien Aug 13, 2020
94bcbfb
Fix opacity level when using `extrudeAll` set to true option.
MaximAlien Aug 13, 2020
1ec73fc
Fix crash when removing waypoint by switching to alert instead of act…
MaximAlien Aug 13, 2020
509e583
Fix issue which prevents from removing waypoints and highlighted buil…
MaximAlien Aug 13, 2020
38248af
Set default styleURL to navigationDayStyleURL to prevent inconsistenc…
MaximAlien Aug 13, 2020
e039289
Remove deprecated methods which were incorrectly added after rebase.
MaximAlien Aug 13, 2020
4628347
Add code review suggestions.
MaximAlien Aug 14, 2020
9c22780
Use identifiers instead of IDs
MaximAlien Aug 14, 2020
a5ff400
Add code review related changes.
MaximAlien Aug 14, 2020
e18afe5
Fix crash in deinit when removing styleObservation.
MaximAlien Aug 14, 2020
256bbd8
Minor improvement in comments.
MaximAlien Aug 14, 2020
7b1449f
Add code review improvements. Use new `DestinationBuildingHighlightTy…
MaximAlien Aug 14, 2020
b75f340
Improve public API comments.
MaximAlien Aug 14, 2020
44a765d
Rename DestinationBuildingHighlightType to WaypointStyle.
MaximAlien Aug 14, 2020
23a8fdd
Move WaypointStyle to separate file and add it to Jazzy.
MaximAlien Aug 14, 2020
108adca
Remove WaypointStyle from NavigationViewController.
MaximAlien Aug 14, 2020
44acbe2
Improve expressions used by highlightedBuildingsLayer.
MaximAlien Aug 14, 2020
be3c97d
Attempt to make extrusion more reliable by removing type = 'building'…
MaximAlien Aug 14, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@
* `NavigationMapViewDelegate.navigationMapView(_:alternativeRouteStyleLayerWithIdentifier:source:)` to style alternative routes.
* `NavigationMapViewDelegate.navigationMapView(_:alternativeRouteCasingStyleLayerWithIdentifier:source:)` to style the casing of alternative routes.
* Fixed an issue where the casing for the main route would not overlap alternative routes. ([#2377](https://github.com/mapbox/mapbox-navigation-ios/pull/2377))
* Building highlighting and unhighlighting is now available using `NavigationMapView.highlightBuildings(for coordinates:, in3D: Bool)` and `NavigationMapView.unhighlightBuildings()`.
* Destination building highlighting is now available by setting `NavigationViewController.highlightDestinationBuildings` to true.
* Presentation of building highlights can be controlled by setting `NavigationViewController.highlightBuildingsIn3D` to true or false.
MaximAlien marked this conversation as resolved.
Show resolved Hide resolved

### Feedback

Expand Down
69 changes: 45 additions & 24 deletions Example/ViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,14 @@ class ViewController: UIViewController {

var response: RouteResponse? {
didSet {
guard let routes = response?.routes, let current = routes.first, let steps = current.legs.first?.steps, !steps.isEmpty else {
startButton.isEnabled = false
mapView?.removeRoutes()
guard let routes = response?.routes, let currentRoute = routes.first else {
clearMapView()
return

}

startButton.isEnabled = true
mapView?.show(routes)
mapView?.showWaypoints(on: current)
mapView?.showWaypoints(on: currentRoute)
}
}

Expand Down Expand Up @@ -135,10 +134,16 @@ class ViewController: UIViewController {
waypoints = Array(waypoints.dropFirst())
}

let coordinates = mapView.convert(tap.location(in: mapView), toCoordinateFrom: mapView)
let destinationCoord = mapView.convert(tap.location(in: mapView), toCoordinateFrom: mapView)
// Note: The destination name can be modified. The value is used in the top banner when arriving at a destination.
let waypoint = Waypoint(coordinate: coordinates, name: "Dropped Pin #\(waypoints.endIndex + 1)")
let waypoint = Waypoint(coordinate: destinationCoord, name: "Dropped Pin #\(waypoints.endIndex + 1)")
// Example of building highlighting. `targetCoordinate`, in this example, is used implicitly by NavigationViewController to determine which buildings to highlight.
waypoint.targetCoordinate = destinationCoord
waypoints.append(waypoint)

// Example of highlighting buildings in 2d and directly using the API on NavigationMapView.
let buildingHighlightCoordinates = waypoints.compactMap { $0.targetCoordinate }
mapView.highlightBuildings(for: buildingHighlightCoordinates, in3D: false)

requestRoute()
}
Expand All @@ -150,17 +155,24 @@ class ViewController: UIViewController {
}

@IBAction func clearMapPressed(_ sender: Any) {
clearMap.isHidden = true
mapView?.removeRoutes()
mapView?.removeWaypoints()
waypoints.removeAll()
longPressHintView.isHidden = false
clearMapView()
}

@IBAction func startButtonPressed(_ sender: Any) {
presentActionsAlertController()
}

private func clearMapView() {
startButton.isEnabled = false
clearMap.isHidden = true
longPressHintView.isHidden = false

mapView?.unhighlightBuildings()
mapView?.removeRoutes()
mapView?.removeWaypoints()
waypoints.removeAll()
}

private func presentActionsAlertController() {
let alertController = UIAlertController(title: "Start Navigation", message: "Select the navigation type", preferredStyle: .actionSheet)

Expand Down Expand Up @@ -237,6 +249,9 @@ class ViewController: UIViewController {
// Render part of the route that has been traversed with full transparency, to give the illusion of a disappearing route.
navigationViewController.mapView?.routeLineTracksTraversal = true

// Example of building highlighting using the NavigationViewController.
navigationViewController.highlightDestinationBuildings = true

presentAndRemoveMapview(navigationViewController, completion: beginCarPlayNavigation)
}

Expand All @@ -247,6 +262,12 @@ class ViewController: UIViewController {
let navigationViewController = NavigationViewController(for: route, routeOptions: routeOptions, navigationOptions: options)
navigationViewController.delegate = self

// Example of building highlighting using the NavigationViewController.
navigationViewController.highlightDestinationBuildings = true

// Extrude buildings in 2D.
MaximAlien marked this conversation as resolved.
Show resolved Hide resolved
navigationViewController.highlightBuildingsIn3D = false

presentAndRemoveMapview(navigationViewController, completion: beginCarPlayNavigation)
}

Expand Down Expand Up @@ -388,7 +409,7 @@ extension ViewController: NavigationMapViewDelegate {
guard let responseOptions = response?.options, case let .route(routeOptions) = responseOptions else { return }
let modifiedOptions = routeOptions.without(waypoint: waypoint)

presentWaypointRemovalActionSheet { _ in
presentWaypointRemovalAlert { _ in
self.requestRoute(with:modifiedOptions, success: self.defaultSuccess, failure: self.defaultFailure)
}
}
Expand All @@ -400,18 +421,18 @@ extension ViewController: NavigationMapViewDelegate {
self.response!.routes!.insert(route, at: 0)
}

private func presentWaypointRemovalActionSheet(completionHandler approve: @escaping ((UIAlertAction) -> Void)) {
let title = NSLocalizedString("REMOVE_WAYPOINT_CONFIRM_TITLE", value: "Remove Waypoint?", comment: "Title of sheet confirming waypoint removal")
let message = NSLocalizedString("REMOVE_WAYPOINT_CONFIRM_MSG", value: "Do you want to remove this waypoint?", comment: "Message of sheet confirming waypoint removal")
let removeTitle = NSLocalizedString("REMOVE_WAYPOINT_CONFIRM_REMOVE", value: "Remove Waypoint", comment: "Title of alert sheet action for removing a waypoint")
private func presentWaypointRemovalAlert(completionHandler approve: @escaping ((UIAlertAction) -> Void)) {
let title = NSLocalizedString("REMOVE_WAYPOINT_CONFIRM_TITLE", value: "Remove Waypoint?", comment: "Title of alert confirming waypoint removal")
let message = NSLocalizedString("REMOVE_WAYPOINT_CONFIRM_MSG", value: "Do you want to remove this waypoint?", comment: "Message of alert confirming waypoint removal")
let removeTitle = NSLocalizedString("REMOVE_WAYPOINT_CONFIRM_REMOVE", value: "Remove Waypoint", comment: "Title of alert action for removing a waypoint")
let cancelTitle = NSLocalizedString("REMOVE_WAYPOINT_CONFIRM_CANCEL", value: "Cancel", comment: "Title of action for dismissing waypoint removal confirmation sheet")

let actionSheet = UIAlertController(title: title, message: message, preferredStyle: .actionSheet)
let remove = UIAlertAction(title: removeTitle, style: .destructive, handler: approve)
let cancel = UIAlertAction(title: cancelTitle, style: .cancel, handler: nil)
[remove, cancel].forEach(actionSheet.addAction(_:))

self.present(actionSheet, animated: true, completion: nil)
let waypointRemovalAlertController = UIAlertController(title: title, message: message, preferredStyle: .alert)
let removeAction = UIAlertAction(title: removeTitle, style: .destructive, handler: approve)
let cancelAction = UIAlertAction(title: cancelTitle, style: .cancel, handler: nil)
[removeAction, cancelAction].forEach(waypointRemovalAlertController.addAction(_:))
self.present(waypointRemovalAlertController, animated: true, completion: nil)
}
}

Expand Down
8 changes: 4 additions & 4 deletions MapboxNavigation.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
16E3625C201265D600DF0592 /* ImageDownloadOperationSpy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16E3625B201265D600DF0592 /* ImageDownloadOperationSpy.swift */; };
16EF6C1E21193A9600AA580B /* CarPlayManagerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16EF6C1D21193A9600AA580B /* CarPlayManagerTests.swift */; };
16EF6C22211BA4B300AA580B /* CarPlayMapViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16EF6C21211BA4B300AA580B /* CarPlayMapViewController.swift */; };
1F25A90F24A52C1600737F01 /* URLSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F25A90E24A52C1600737F01 /* URLSession.swift */; };
1FFDFD92249C1AA80091746A /* JunctionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FFDFD91249C1AA70091746A /* JunctionView.swift */; };
d-prukop marked this conversation as resolved.
Show resolved Hide resolved
2B07444124B4832400615E87 /* TokenTestViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B07444024B4832400615E87 /* TokenTestViewController.swift */; };
2B2B1EEE2424E55800FA18A6 /* SKUIDTestable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B2B1EED2424E55800FA18A6 /* SKUIDTestable.swift */; };
2B5407EB24470B0A006C820B /* AVAudioSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B5407EA24470B0A006C820B /* AVAudioSession.swift */; };
Expand All @@ -34,8 +36,6 @@
2B8098432411447E00FED452 /* MultiplexedSpeechSynthesizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B8098422411447E00FED452 /* MultiplexedSpeechSynthesizer.swift */; };
2B81EC28241A237E00145086 /* SpeechSynthesizersControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B81EC27241A237E00145086 /* SpeechSynthesizersControllerTests.swift */; };
2B91C9B12416357700E532A5 /* MapboxSpeechSynthesizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B91C9B02416357700E532A5 /* MapboxSpeechSynthesizer.swift */; };
1F25A90F24A52C1600737F01 /* URLSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F25A90E24A52C1600737F01 /* URLSession.swift */; };
1FFDFD92249C1AA80091746A /* JunctionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FFDFD91249C1AA70091746A /* JunctionView.swift */; };
35002D611E5F6ADB0090E733 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 35002D5F1E5F6ADB0090E733 /* Assets.xcassets */; };
35002D691E5F6B2F0090E733 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 35002D661E5F6B1B0090E733 /* Main.storyboard */; };
3502231A205BC94E00E1449A /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35022319205BC94E00E1449A /* Constants.swift */; };
Expand Down Expand Up @@ -642,6 +642,8 @@
16E3625B201265D600DF0592 /* ImageDownloadOperationSpy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageDownloadOperationSpy.swift; sourceTree = "<group>"; };
16EF6C1D21193A9600AA580B /* CarPlayManagerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CarPlayManagerTests.swift; sourceTree = "<group>"; };
16EF6C21211BA4B300AA580B /* CarPlayMapViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CarPlayMapViewController.swift; sourceTree = "<group>"; };
1F25A90E24A52C1600737F01 /* URLSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLSession.swift; sourceTree = "<group>"; };
1FFDFD91249C1AA70091746A /* JunctionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JunctionView.swift; sourceTree = "<group>"; };
2B07444024B4832400615E87 /* TokenTestViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TokenTestViewController.swift; sourceTree = "<group>"; };
2B2B1EED2424E55800FA18A6 /* SKUIDTestable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SKUIDTestable.swift; sourceTree = "<group>"; };
2B5407EA24470B0A006C820B /* AVAudioSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AVAudioSession.swift; sourceTree = "<group>"; };
Expand All @@ -651,8 +653,6 @@
2B8098422411447E00FED452 /* MultiplexedSpeechSynthesizer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MultiplexedSpeechSynthesizer.swift; sourceTree = "<group>"; };
2B81EC27241A237E00145086 /* SpeechSynthesizersControllerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpeechSynthesizersControllerTests.swift; sourceTree = "<group>"; };
2B91C9B02416357700E532A5 /* MapboxSpeechSynthesizer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapboxSpeechSynthesizer.swift; sourceTree = "<group>"; };
1F25A90E24A52C1600737F01 /* URLSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLSession.swift; sourceTree = "<group>"; };
1FFDFD91249C1AA70091746A /* JunctionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JunctionView.swift; sourceTree = "<group>"; };
35002D5D1E5F6ABB0090E733 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
35002D5F1E5F6ADB0090E733 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
35002D671E5F6B1B0090E733 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
Expand Down
9 changes: 9 additions & 0 deletions MapboxNavigation/Array.swift
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,12 @@ extension Array where Element: NSAttributedString {
return joinedAttributedString
}
}

extension Array where Element: Hashable {
/**
Returns array without duplicates. Order of elements might differ from original array.
*/
var withoutDuplicates: Array {
return Array(Set(self))
}
}
25 changes: 16 additions & 9 deletions MapboxNavigation/DayStyle.swift
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ extension UIColor {
class var trafficHeavy: UIColor { get { return #colorLiteral(red: 1, green: 0.3019607843, blue: 0.3019607843, alpha: 1) } }
class var trafficSevere: UIColor { get { return #colorLiteral(red: 0.5607843137, green: 0.1411764706, blue: 0.2784313725, alpha: 1) } }
class var trafficAlternateLow: UIColor { get { return #colorLiteral(red: 0.4666666687, green: 0.7647058964, blue: 0.2666666806, alpha: 1) } }

class var defaultBuildingColor: UIColor { get { return #colorLiteral(red: 0.9833194452, green: 0.9843137255, blue: 0.9331936657, alpha: 0.8019049658) } }
class var defaultBuildingHighlightColor: UIColor { get { return #colorLiteral(red: 0.337254902, green: 0.6588235294, blue: 0.9843137255, alpha: 0.949406036) } }
}

extension UIColor {
Expand Down Expand Up @@ -135,16 +138,18 @@ open class DayStyle: Style {
ManeuverView.appearance(whenContainedInInstancesOf: [StepInstructionsView.self]).secondaryColor = .defaultTurnArrowSecondary
ManeuverView.appearance().primaryColorHighlighted = .defaultTurnArrowPrimaryHighlighted
ManeuverView.appearance().secondaryColorHighlighted = .defaultTurnArrowSecondaryHighlighted
NavigationMapView.appearance().maneuverArrowColor = .defaultManeuverArrow
NavigationMapView.appearance().maneuverArrowColor = .defaultManeuverArrow
NavigationMapView.appearance().maneuverArrowStrokeColor = .defaultManeuverArrowStroke
NavigationMapView.appearance().routeAlternateColor = .defaultAlternateLine
NavigationMapView.appearance().routeCasingColor = .defaultRouteCasing
NavigationMapView.appearance().traversedRouteColor = .defaultTraversedRouteColor
NavigationMapView.appearance().trafficHeavyColor = .trafficHeavy
NavigationMapView.appearance().trafficLowColor = .trafficLow
NavigationMapView.appearance().trafficModerateColor = .trafficModerate
NavigationMapView.appearance().trafficSevereColor = .trafficSevere
NavigationMapView.appearance().trafficUnknownColor = .trafficUnknown
NavigationMapView.appearance().routeAlternateColor = .defaultAlternateLine
NavigationMapView.appearance().routeCasingColor = .defaultRouteCasing
NavigationMapView.appearance().traversedRouteColor = .defaultTraversedRouteColor
NavigationMapView.appearance().trafficHeavyColor = .trafficHeavy
NavigationMapView.appearance().trafficLowColor = .trafficLow
NavigationMapView.appearance().trafficModerateColor = .trafficModerate
NavigationMapView.appearance().trafficSevereColor = .trafficSevere
NavigationMapView.appearance().trafficUnknownColor = .trafficUnknown
NavigationMapView.appearance().buildingDefaultColor = .defaultBuildingColor
NavigationMapView.appearance().buildingHighlightColor = .defaultBuildingHighlightColor
NavigationView.appearance().backgroundColor = #colorLiteral(red: 0.764706, green: 0.752941, blue: 0.733333, alpha: 1)
NextBannerView.appearance().backgroundColor = #colorLiteral(red: 0.9675388083, green: 0.9675388083, blue: 0.9675388083, alpha: 1)
NextBannerView.appearance(whenContainedInInstancesOf:[InstructionsCardContainerView.self]).backgroundColor = #colorLiteral(red: 0.9675388083, green: 0.9675388083, blue: 0.9675388083, alpha: 1)
Expand Down Expand Up @@ -256,6 +261,8 @@ open class NightStyle: DayStyle {
ManeuverView.appearance(whenContainedInInstancesOf: [StepInstructionsView.self]).primaryColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
ManeuverView.appearance(whenContainedInInstancesOf: [StepInstructionsView.self]).secondaryColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 0.3)
NavigationMapView.appearance().routeAlternateColor = #colorLiteral(red: 0.7991961837, green: 0.8232284188, blue: 0.8481693864, alpha: 1)
NavigationMapView.appearance().buildingDefaultColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
NavigationMapView.appearance().buildingHighlightColor = #colorLiteral(red: 0.9254902005, green: 0.2352941185, blue: 0.1019607857, alpha: 1)
NavigationView.appearance().backgroundColor = #colorLiteral(red: 0.0470588, green: 0.0509804, blue: 0.054902, alpha: 1)
NextBannerView.appearance().backgroundColor = #colorLiteral(red: 0.103291966, green: 0.1482483149, blue: 0.2006777823, alpha: 1)
NextInstructionLabel.appearance().normalTextColor = #colorLiteral(red: 0.9842069745, green: 0.9843751788, blue: 0.9841964841, alpha: 1)
Expand Down
Loading