import UIKit
import TomTomOnlineSDKMaps
import TomTomOnlineSDKMapsUIExtensions
class ViewController: UIViewController, TTMapViewDelegate {
@IBOutlet weak var ttMapView: TTMapView!
override func viewDidLoad() {
super.viewDidLoad()
mapConfigurationWithBoundingBox()
}
func mapConfigurationWithBoundingBox() {
let transform = TTCenterOnGeometryBuilder.create(withGeometry: [
.init(latitude: 52.3274167028, longitude: 4.72924173),
.init(latitude: 52.43106373, longitude: 5.0310596876),
.init(latitude: 52.43106373, longitude: 4.72924173),
.init(latitude: 52.3274167028, longitude: 4.72924173),
], withPadding: .zero)
.withPitch(30)
.withBearing(-90)
.build()
let config = TTMapConfigurationBuilder.create().withViewportTransform(transform).withMapKey(Key.Map).withTrafficKey(Key.Traffic)
let position = TTLogoPosition(verticalPosition: .top, horizontalPosition: .right, verticalOffset: 35, horizontalOffset: -170)
let style = TTMapStyleDefaultConfiguration()
config.withTomTomLogoPosition(position).withMapStyleConfiguration(style)
ttMapView = TTMapView(mapConfiguration: config.build())
self.ttMapView?.delegate = self
}
func loadRasterMapTiles() {
let configuration = TTMapStyleConfigurationBuilder.create(withStyleURL: "asset://../../mapssdk-raster-layers.json").build()
ttMapView.styleManager.load(configuration) { [weak self]
in
guard let self = self else { return }
self.setupInitialCameraPosition()
}
}
func setupInitialCameraPosition() {
self.ttMapView.center(on: CLLocationCoordinate2DMake(51.507351, -0.127758), withZoom: 12)
displayFlow()
}
func displayFlow() {
let layers = ttMapView.styleManager.currentStyle.getLayersByRegex("tomtom-flow-raster-layer")
layers.forEach { layer in
layer.visibility = .visible
}
}
}
Did you check if your key is working properly with for example API Explorer?