gpt4 book ai didi

ios - 显示 map 的 Sygic 问题

转载 作者:搜寻专家 更新时间:2023-11-01 06:12:39 24 4
gpt4 key购买 nike

我的 Sygic map 框架有问题,我尝试使用此代码显示 map 在 AppDelegate.swift 中

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
SYContext.initWithAppKey("mhives.sdk.trial", appSecret: "2nxScQJ0s/J6FsYJ67dlQ+MZLjLzOKc0s96l0t4YyLv2IH8b31b5vWgkzbfgJZ8FYEKQtxpLFGlwyfqEQ64MSQ==") { (initResult) in
if (initResult == .success) {
self.window = UIWindow(frame: UIScreen.main.bounds)
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let initialViewController:ViewController = storyboard.instantiateViewController(withIdentifier: "ViewController") as! ViewController
// Set that ViewController as the rootViewController
self.window?.rootViewController = initialViewController
self.window?.makeKeyAndVisible()
initialViewController.sdkDidStart()

} else {
print("KO")
}
}
return true
}

ViewController.swift

class ViewController: UIViewController,SYMapViewDelegate,SYRoutingDelegate {
let mapView = SYMapView()
let routing = SYRouting()
override func viewDidLoad() {
super.viewDidLoad()
}

func mapView(_ mapView: SYMapView, didFinishInitialization success: Bool) {
let tiltFor2D: SYAngle = 0
mapView.tilt = tiltFor2D
self.mapView.zoom = 10
self.mapView.rotation = 180
self.mapView.geoCenter = SYGeoCoordinate(latitude: 48.147, longitude: 17.101878)!
self.mapView.frame = self.view.bounds
view.addSubview(self.mapView)

}

func computeRoute(from fromCoordinate: SYGeoCoordinate, to toCoordinate: SYGeoCoordinate) {
// Create an instance of SYRouting


// Make self a delegate for SYRouting to receive and handle SYRoutingDelegate responses

// Create SYWaypoint from coordinate. Set correct SYWaypointType for start and finish.
let startWaypoint = SYWaypoint(position: fromCoordinate, type: .start, name: nil)
let endWaypoint = SYWaypoint(position: toCoordinate, type: .end, name: nil)

// Optionally: create an instance of SYRoutingOptions for configuring computing of a route
let routingOptions = SYRoutingOptions()
routingOptions.transportMode = .pedestrian // For other options see SYTransportMode
routingOptions.routingType = .economic// For other options see SYRoutingType

// Start computing route
self.routing.computeRoute(startWaypoint, to: endWaypoint, via: nil, with: routingOptions)
}

func routing(_ routing: SYRouting, computingFailedWithError error: SYRoutingError) {
print(error.rawValue)
}

func routing(_ routing: SYRouting, didComputePrimaryRoute route: SYRoute?) {
SYNavigation.shared().start(with: route)

// You might want to put it also on the map

let mapRoute = SYMapRoute(route: route!, type: .primary)
mapView.add(mapRoute)
}

现在我尝试简单地显示 Sygic map ,但我没有得到它,我在调试器中收到此消息“Sygic:W 18/08/19 17:04:51 没有 SSO session ,无法发送 http 请求!”

func sdkDidStart(){

mapView.delegate = self
routing.delegate = self

self.mapView.frame = self.view.bounds
self.view.addSubview(self.mapView)
let start = SYGeoCoordinate(latitude: 37.276758, longitude: 9.864160900000002)
let end = SYGeoCoordinate(latitude: 37.25408, longitude: 9.906733)
//computeRoute(from: start!, to: end!)
}

请帮忙

最佳答案

首先你有有效的 key 和 secret 吗?如果没有,您可以在这里申请:https://www.sygic.com/business/request-sygic-mobile-sdk-api-key?product=mobileSdk我知道您在这里没有使用真实的示例,但至少错误似乎是您使用的那个无效。

另一件事是,你什么时候初始化你的SYMapView?例如,如果您使用 Storyboard加载 ViewController 作为初始 View Controller ,那么它会在 SDK 完全加载之前尝试加载 map View 实例及其所有底层组件。请注意,只有在成功初始化后才能使用 SDK。

因此检查您的 API key 并尝试在 SYContext.initWithAppKey() 完成处理程序中初始化该 View Controller 。

关于ios - 显示 map 的 Sygic 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51919553/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com