【问题标题】:GetMapPackageAtCoordinate never return smallest package for some regionsGetMapPackageAtCoordinate 永远不会返回某些区域的最小包
【发布时间】:2017-11-24 09:55:47
【问题描述】:

我正在使用 MapLoader#getMapPackageAtCoordinate 方法来查找我应该下载哪个离线包。问题是我从不想下载国家(法国)包(出于数据使用考虑)。

文档中明确表示对于某些坐标,该方法可能无法找到最小(地区)的包,而是返回国家包。但我希望在尝试使用该地区的多个地理坐标时能够获得最小的包裹。

对于某些地区(诺曼底、布列塔尼、Nouvelle-Acquitaine),getMapPackageAtCoordinate 几乎总是返回地区包。但对于其他地区(Ille-de-France、Pays-De-La-Loire),总是退回法国包裹。

有没有办法改善这种行为以获得区域包?

谢谢

【问题讨论】:

  • 根据之前创建此特定 API 的经验,请勿使用它。正如你所发现的那样,它是越野车并且充满了漏洞。在内部,它会执行反向地理编码来查找国家/地区,然后尝试模糊匹配结果。
  • 感谢您提供清晰而准确的建议。我希望我早点知道,但迟到总比没有好!你会推荐什么?我的用例是设备需要离线地图,但我想下载尽可能少的数据,而且我事先不知道车辆将开往何处。
  • 存储每个区域的边界框列表,然后与您要下载的区域相交。例如:gist.github.com/graydon/11198540
  • 在我的应用程序的早期版本中,我使用地图包 ID 来下载特定的地图包,假设这些 ID 永远不会改变。但是他们今年确实发生了变化(!!),当他们这样做时,新设备无法下载离线地图。这就是我决定依赖 getMapPackageAtCoordinate 的原因。现在我想按照您的建议使用包名称来代替,但不能保证将来名称不会更改...谢谢您的支持。

标签: android here-api offline-caching


【解决方案1】:

请下载最新的 SDK 版本。主要漏洞和错误已经修复。

适用于 iOS 和 Android,HERE SDK 有两个版本。 Lite Edition 提供了一种将位置功能集成到为具有有限 ROM 功能和渲染需求的设备构建的应用程序的快速方法。高级版提供精简版中的所有内容,以及离线功能和其他定位功能,例如汽车、卡车和行人导航;电子地平线、通行费计算、速度限制、坡度、曲率等高级数据集。

更多细节请参考文档:

https://developer.here.com/products/here-sdk

【讨论】:

    猜你喜欢
    • 2019-11-15
    • 2011-07-25
    • 1970-01-01
    • 2012-10-02
    • 2013-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多