这里 SDK mapLoader.getMapPackageAtCoordinate return true 但我从来没有得到回调结果
Here SDK mapLoader.getMapPackageAtCoordinate return true but I never get result on callback
我正在使用 Here SDK,初始化后一切看起来都很好,但是当我调用时:
val getMapPackageResult = mapLoader.getMapPackageAtCoordinate(GeoCoordinate(52.500556, 13.398889, 0.0))
获取要安装的地图包,MapPackageAtCoordinateListener
永远不会调用回调!
没有地理坐标调用mapLoader.getMapPackages
就不一样了!
会不会是后台对我的试用账号有什么限制?
有什么建议吗?
更多详情
我正在关注此示例存储库 https://github.com/heremaps/here-android-sdk-examples/tree/master/map-downloader
val diskCacheRoot = "${Environment.getExternalStorageDirectory().path}${File.separator}.isolated-here-maps"
MapSettings.setIsolatedDiskCacheRootPath(diskCacheRoot, HERE_MAP_ACTION)
mapLoader = MapLoader.getInstance()
mapLoader.addListener(object : MapLoader.Listener {
override fun onProgress(i: Int) {
Timber.i("onProgress $i")
}
override fun onInstallationSize(l: Long, l1: Long) {
Timber.i("onInstallationSize")
}
override fun onGetMapPackagesComplete(mapPackage: MapPackage, resultCode: MapLoader.ResultCode) {
Timber.i("onGetMapPackagesComplete name = " + mapPackage.englishTitle + " , resultCode = " + resultCode)
}
override fun onCheckForUpdateComplete(b: Boolean, s: String, s1: String, resultCode: MapLoader.ResultCode) {
Timber.i("onCheckForUpdateComplete")
}
override fun onPerformMapDataUpdateComplete(mapPackage: MapPackage, resultCode: MapLoader.ResultCode) {
Timber.i("onPerformMapDataUpdateComplete")
}
override fun onInstallMapPackagesComplete(mapPackage: MapPackage, resultCode: MapLoader.ResultCode) {
Timber.i("onInstallMapPackagesComplete resultCode = $resultCode")
if (resultCode == MapLoader.ResultCode.OPERATION_SUCCESSFUL) {
Timber.i("onInstallMapPackagesComplete mapPackage = " + mapPackage.title)
} else {
listener.onError(NavigationException())
}
}
override fun onUninstallMapPackagesComplete(mapPackage: MapPackage, resultCode: MapLoader.ResultCode) {
Timber.i("onUninstallMapPackagesComplete")
}
})
mapLoader.addMapPackageAtCoordinateListener({ mapPackage, geoCoordinate, resultCode ->
Timber.i("onGetMapPackageAtCoordinateComplete name = ${mapPackage?.englishTitle}, resultCode = $resultCode")
val packages = ArrayList<Int>()
mapPackage?.let {
packages.add(it.id)
mapLoader.installMapPackages(packages)
} ?: Timber.e("No package loaded")
})
答案是,不是这里的SDK!
由于某种原因,另一个本地库因 Signal = SIGUSR2 (signal SIGUSR2)
错误而中断,因此,整个 Here SDK 停止工作!
无法跟踪问题的原因是 Java 包装器工作正常,但 C 部分代码不再工作。
我正在使用 Here SDK,初始化后一切看起来都很好,但是当我调用时:
val getMapPackageResult = mapLoader.getMapPackageAtCoordinate(GeoCoordinate(52.500556, 13.398889, 0.0))
获取要安装的地图包,MapPackageAtCoordinateListener
永远不会调用回调!
没有地理坐标调用mapLoader.getMapPackages
就不一样了!
会不会是后台对我的试用账号有什么限制? 有什么建议吗?
更多详情
我正在关注此示例存储库 https://github.com/heremaps/here-android-sdk-examples/tree/master/map-downloader
val diskCacheRoot = "${Environment.getExternalStorageDirectory().path}${File.separator}.isolated-here-maps"
MapSettings.setIsolatedDiskCacheRootPath(diskCacheRoot, HERE_MAP_ACTION)
mapLoader = MapLoader.getInstance()
mapLoader.addListener(object : MapLoader.Listener {
override fun onProgress(i: Int) {
Timber.i("onProgress $i")
}
override fun onInstallationSize(l: Long, l1: Long) {
Timber.i("onInstallationSize")
}
override fun onGetMapPackagesComplete(mapPackage: MapPackage, resultCode: MapLoader.ResultCode) {
Timber.i("onGetMapPackagesComplete name = " + mapPackage.englishTitle + " , resultCode = " + resultCode)
}
override fun onCheckForUpdateComplete(b: Boolean, s: String, s1: String, resultCode: MapLoader.ResultCode) {
Timber.i("onCheckForUpdateComplete")
}
override fun onPerformMapDataUpdateComplete(mapPackage: MapPackage, resultCode: MapLoader.ResultCode) {
Timber.i("onPerformMapDataUpdateComplete")
}
override fun onInstallMapPackagesComplete(mapPackage: MapPackage, resultCode: MapLoader.ResultCode) {
Timber.i("onInstallMapPackagesComplete resultCode = $resultCode")
if (resultCode == MapLoader.ResultCode.OPERATION_SUCCESSFUL) {
Timber.i("onInstallMapPackagesComplete mapPackage = " + mapPackage.title)
} else {
listener.onError(NavigationException())
}
}
override fun onUninstallMapPackagesComplete(mapPackage: MapPackage, resultCode: MapLoader.ResultCode) {
Timber.i("onUninstallMapPackagesComplete")
}
})
mapLoader.addMapPackageAtCoordinateListener({ mapPackage, geoCoordinate, resultCode ->
Timber.i("onGetMapPackageAtCoordinateComplete name = ${mapPackage?.englishTitle}, resultCode = $resultCode")
val packages = ArrayList<Int>()
mapPackage?.let {
packages.add(it.id)
mapLoader.installMapPackages(packages)
} ?: Timber.e("No package loaded")
})
答案是,不是这里的SDK!
由于某种原因,另一个本地库因 Signal = SIGUSR2 (signal SIGUSR2)
错误而中断,因此,整个 Here SDK 停止工作!
无法跟踪问题的原因是 Java 包装器工作正常,但 C 部分代码不再工作。