我尝试找出如何使用带有iOS swift的v2.5.1使用Skobbler SKMaps框架更新地图。
如此处建议的那样:http://developer.skobbler.com/getting-started/ios#sec33,我在AppDelegate中正确配置了mapsVersioningManager委托。
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
let initSettings: SKMapsInitSettings = SKMapsInitSettings()
SKMapsService.sharedInstance().initializeSKMaps(withAPIKey: API_KEY, settings: initSettings)
SKMapsService.sharedInstance().mapsVersioningManager.delegate = self
return true
}
所以在我的日志中,我有以下几行:
"Map version file download finished."
"current map version : 20150413"
我知道有一个新的地图版本文件可用,该文件是20160426。但未检测到该文件,并且未触发协议detectedNewAvailableMapVersion。
在设置mapsVersioningManager委托之后,我还尝试将这一行放在右边:
SKMapsService.sharedInstance().mapsVersioningManager.update(toVersion: "20160426")
但是地图版本仍然是20150413。
然后在MAPJSONParser Model类中,我修改了这样的代码
SKMapsService.sharedInstance().packagesManager.mapsJSONURL(forVersion: "20160426")
依然没有。
我还以一种绝望的方式尝试在SKMaps.b中添加新行,将PreInstalledMaps“
version3_public_sdk_iOS_2_5_1.txt
”中的文件打包20160426 9874 http://tor.skobbler.net RSngx 20_5 NBngx 20_5
http://traffic.skobbler.net/Traffic/2.0/NgTraffic/
http://traffic.skobbler.net/Traffic/2.0/NgIncidents/
我希望你能帮助我:)!
最佳答案
在找到更好的答案之前,我找到了可以帮助某人的解决方法。所以这里是:
将最新版本的地图预先捆绑到您的应用中。这将导致SKMapVersioningManager将其currentMapVersion更改为预先捆绑的地图版本一。然后,将使用最新版本下载所有新地图。
关于ios - 更新 map Skobbler流程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41674625/