这里 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 部分代码不再工作。