Here.com api,用于多个坐标的getMapPackageAtGeoCoordinates

时间:2019-01-29 18:02:53

标签: here-api

getMapPackageAtGeoCoordinates:仅采用1个值作为参数。 我的NMAGeoCoordinates列表很长,我正在寻找一种无需多次调用(或使用边界框作为参数)即可获取“ packageId”的方法

更新

我的iOS应用有一个路由列表(其中有数百个),每个路由都有多个中间点。 对于每条路线,都应可以离线下载地图数据。 我正在使用此api: https://developer.here.com/documentation/ios-premium/dev_guide/topics/maps-offline-maploader.html

我没有使用基于NMAMapDataPrefetcher的其他方法,因为我需要控制安装的软件包。

因此,给定NMAGeoCoordinates列表,我需要获取可能的NMAMapPackage列表以下载。

我无法使用起点或终点坐标,因为每条路线都可以包含多个国家/地区。

我无法多次调用getMapPackageAtGeoCoordinates来获取路线中可能包含的国家的完整列表(涉及多个呼叫,每条路线的数量级为数十个)

所以我想知道是否有更好的方法来解决此问题,也许使用边界框来获取路线中包括的所有NMAMapPackage。 我还检查了REST api:

https://developer.here.com/documentation/routing/topics/resource-calculate-route.html

看起来有一种方法,可以使用RouteAttributeType“ summaryByCountry”计算路线并获得所穿越国家的摘要。响应中包含使用ISO 3166-1-alpha-3格式的“国家/地区”字段,但无法将该值转换为NMAMapPackage ID。

1 个答案:

答案 0 :(得分:0)

除了您描述使用geoCoordinates接收NMAMapPackage之外,没有其他方法。

这是使用边界框下载他需要的区域而无需多次调用的唯一方法。

@interface NMAGeoBoundingBox : NSObject<NSCoding>
+ (nullable instancetype)geoBoundingBoxContainingGeoCoordinates:(nonnull NSArray<NMAGeoCoordinates *> *)coordinates

@interface NMAMapDataPrefetcher : NSObject
- (NSInteger)fetchMapDataForBoundingBox:(nonnull NMAGeoBoundingBox *)boundingBox

                                  error:(NMAPrefetchRequestError *_Nullable)error

NS_SWIFT_NAME(fetchMapDataForBoundingBox(_:error:));