作为图块,我正在使用Here-map。
我正在尝试从S3服务器自定义光栅图块。在文档中,有两个类支持我这样做:UrlMapRasterTileSourceBase和MapRasterTileSource。
在我的情况下,我尝试新建一个MapRasterTileSource实例,然后覆盖getTileWithError(int x,int y,int zoomLevel)函数,从S3服务器加载我的tile图像。
问题是加载图像的时间太长,并且UI似乎滞后。
在文件中,这是部分:
注意:确保getTileWithError()在合理范围内返回 多少时间。如果您的手术需要更长的时间, 启动异步操作并返回 操作所在的TileResult.Error.NOT_READY错误代码 进展。
但是,我不知道如何应用它。我试图用回调加载图像,但在得到结果后不知道该怎么做。
请你帮个忙!?
答案 0 :(得分:1)
如何从S3加载光栅图块?它是从getTileWithError调用的同步HTTP请求吗?
正确的流程应该是: -getTileWithError()//用于特定的x,y,z - 通过线程或AsyncTask异步执行从S3层获取的tile。 - 同时,将连续调用getTileWithError(),并返回“TileResult.NOT_READY” - 图像完全下载后,将图像返回运行时。
如果在getTileWithError中花费的时间过长,则会自动禁用磁贴源。