【发布时间】:2018-04-17 17:23:09
【问题描述】:
我正在使用 Here SDK,初始化后一切正常,但是当我调用时:
val getMapPackageResult = mapLoader.getMapPackageAtCoordinate(GeoCoordinate(52.500556, 13.398889, 0.0))
要安装地图包,MapPackageAtCoordinateListener 回调永远不会被调用!
当我在没有 GeoCoordination 的情况下拨打 mapLoader.getMapPackages 时,情况就不一样了!
后端对我的试用帐户有任何限制吗? 有什么建议吗?
更多详情
我正在关注这个示例 repo 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")
})
【问题讨论】: