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。
答案 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:));