libwebp
修复模拟导航定位卡顿问题。
libwebp
新增设置和退出按钮控制:为导航视图类型(驾车、骑行、步行、网约车)添加 showSettingButton , showExitButton 属性
/**
* @brief 是否隐藏路线上的红绿灯倒计时,默认为NO。
*/
@property (nonatomic, assign) BOOL lightCountDownTimerHidden;
/**
* @brief 是否会自动从全览状态进入导航态,默认为NO
*/
@property (nonatomic, assign) BOOL exitOverviewEnabled;
/**
* @brief 设置从全览到退出全览模式进入导航态的延迟时间,单位为秒,默认为10秒,区间(0,+∞).
*/
@property (nonatomic, assign) NSTimeInterval exitOverviewDelay;
@interface TNKDriveRouteSearchOption : NSObject<NSCopying>
...
/**
* @brief 导航点串还原导航路线 since 6.13.0
*/
@property (nonatomic, copy, nullable) NSArray<TencentLBSLocation *> *routePointsLocations;
/**
* @brief 导航点串还原导航路线,行前算路设置。默认为NO
*/
@property (nonatomic, assign) BOOL routePointsIsSearch;
/**
* @brief 导航点串还原导航路线,行中重算。默认为YES
*/
@property (nonatomic, assign) BOOL routePointsIsReRouteSearch;
...
@end
5.推荐换路弹窗允许关闭。
/**
* @brief 是否展示推荐换路弹窗, 默认为YES
*/
@property (nonatomic, assign) BOOL showRecommendRoute;
TTNKDriveRouteSearchOption *searchOption = [[TNKDriveRouteSearchOption alloc] init];
searchOption.navScene = 1;
searchOption.isShortDistance = YES;
request.searchOption = searchOption;
[self.navManager searchRoutesWithRequest:request
completion:^(TNKDriveRouteSearchResult * _Nullable searc
}];
/**
* @brief 透出限行区域规则ID功能. since 6.10.0 */
@property (nonatomic, readonly) NSArray<NSString *> *detail_ids;
诱导支持开发者按照诱导类型屏蔽诱导信息:
/**
* @brief 类型.
*/
@property (nonatomic, assign) int type;
导航SDK支持显示3D楼块效果
/**
* @brief 是否显示建筑物样式为3D效果,默认为NO。
*/
@property (nonatomic, assign) BOOL shows3DBuildings;
驾车路径规划算路策略新增参数sliceType,可指定分包分片的详细类型;
@property (nonatomic, assign) TNKSliceType sliceType;
typedef enum _TNKSliceType
{
TNKSliceTypeNone
TNKSliceTypeTwo
TNKSliceTypeThree
TNKSliceTypeAuto
= 0,
= 1,
= 2,
= 9,
///< 分包分片的详细类型
///< 不分片 ///< 两段 ///< 三段 ///< 自动
} TNKSliceType;
TNKDriveNavDelegate新增回调方法 /**
* @brief slice状态下导航开启的回调,根据success自行处理后续的逻辑,如失败重新算路等;如三段s * @param nav_session_id session id
* @param success 成功或者失败
*/
- (void)driveNavManagerOnNavigationDataReady:(TNKDriveNavManager *)manager
nav_session_id:(NSString *)nav_session_id
success:(BOOL)success;
TNKAudioPlayer新增播放速度控制参数及方法: /**
* @brief 控制语音播报速度,请在开始播报之前设置完成设置范围[20, 100],默认是50是正常速度(不设置该属性 * @since 6.9.0
*/
@property (nonatomic, assign) int rate;
/**
* @brief 播放速度设置。传入其他无效类型不生效 since 6.9.0 * @param type 播报速度类型
*/
- (void)playWithRate:(TNKAudioPlayRateType)type;
使用示例
[TNKAudioPlayer sharedAudioPlayer].rate = 60;
[[TNKAudioPlayer sharedAudioPlayer] playWithRate:TNKAudioPlayRateSlow];
/**
* @brief 设置终点偏航参数。注意:需要导航前设置才能生效。参数有效条件:(destArriveRadius >= 30 && destArriveRadius <= destOffRouteRadius)
* @since 6.7.0
* @param destArriveRadius 进入半径,单位,米
* @param destOffRouteRadius 驶离半径,单位,米
*/
- (void)setDestArriveOffRouteRadius:(int)destArriveRadius destOffRouteRadius:(int)destOffRouteRadius;
/**
* @brief 限行信息。 通过(limitStatus & TNKDriveLimitStatusLimitAtStart)、(limitStatus & TNKDriveLimitStatusLimitEnd)去判断限行状态
* @since 6.5.0
*/
@property (nonatomic, readonly) TNKDriveLimitStatus limitStatus;
/// 驾车限行类型
typedef NS_OPTIONS(NSUInteger, TNKDriveLimitStatus) {
TNKDriveLimitStatusNone = 0, ///< 没有经过限行区域
TNKDriveLimitStatusAvoided = 1 << 0, ///< 避开限行区域
TNKDriveLimitStatusLimitAtStart = 1 << 1, ///< 起点在限行区域
TNKDriveLimitStatusLimitAtEnd = 1 << 2, ///< 终点在限行区域
TNKDriveLimitStatusThrough = 1 << 3, ///< 经过限行路段
TNKDriveLimitStatusCanAvoid = 1 << 4, ///< 可以绕过限行区域(在未开启避开限行选项时设置)
};
/**
* @brief 发起驾车导航路线规划,不能应用于开启导航. 通过路线规划请求配置起点、终点、途经点(可选)、规划参数(可选)发起路线规划.
* @param request 路线规划请求
* @param completion 路线规划完成回调
*
* @return 路线规划任务
*
* 错误信息参考TNKDriveRouteSearchErrorCode, TNKDriveRouteSearchErrorDomain
*/
- (TNKSearchTask * _Nullable)searchRoutesWithRequest:(TNKDriveRouteRequest *)request
completion:(void (^)(TNKDriveRouteSearchResult * _Nullable searchResult,
NSError * _Nullable error))completion;
/**
* @brief 播报完成回调.
* @param player 语音播报器.
* @param text 播报的文案
* @param flag 是否成功
*/
- (void)audioPlayerDidFinishPlaying:(id<TNKAudioPlayerProtocol>)player text:(NSString *)text successfully:(BOOL)flag;
typedef NS_ENUM(NSInteger, TNKSimulateLocationsType) {
TNKSimulateLocationsTypeAlongCurrentRoute = 0, ///< 根据当前路线模拟定位
TNKSimulateLocationsTypeAlongInitialRoute = 1, ///< 根据初始规划的路线模拟定位,中途更改路线不影响模拟的定位
TNKSimulateLocationsTypeReplay = 2, ///< 轨迹回放
}; ///< 模拟定位模式
TNKCoordnatePoint重写isEqual与hash方法
适配横屏。可参考Demo中的示例进行APP开发
TNKDriveRoute新增参数,
/**
* @brief 路线预计收费路段的里程,单位:米
* @since 6.3.0
*/
@property (nonatomic, readonly) int tollDistance;
新增路线上违反交规的信息
TNKDriveRoute新增参数,
/**
* @brief 违反交规信息类列表
* @since 6.3.0
*/
@property (nonatomic, readonly) NSArray<TNKTurnRestrictionItem *> *turnRestrictionItems;
/**
* @brief 违反货车限制交规信息列表
* @since 6.3.0
*/
@property (nonatomic, readonly) NSArray<TNKTruckRestrictionItem *> *truckRestrictionItems;
/**
* @brief 前方违反货车限制交规实时信息
* @since 6.3.0
*/
@property (nonatomic, readonly) TNKNavRestrictionInfo *navRestrictionInfo;
TNKDriveNavView重新设计修改放大图配置方法,
/**
* @brief 放大图相关配置
* @since 6.2.0
*/
@property (nonatomic, readonly) TNKEnlargedMapConfig *enlargedMapConfig;
/**
* @brief 更新放大图配置
* @param enlargedMapConfig 放大图配置,不可为nil
* @since 6.2.0
*/
- (void)updateEnlargedMapConfig:(TNKEnlargedMapConfig *)enlargedMapConfig;
/**
* @brief 放大图配置类
*/
@interface TNKEnlargedMapConfig : NSObject <NSCopying>
/**
* @brief 设置在3D车头朝上和2D地图朝北模式下 显示/隐藏路口放大图. 默认为YES
* 注意不管此参数如何设置,在全览模式和剩余全览模式下都会隐藏.
*/
@property (nonatomic, assign) BOOL enlargedMapEnabled;
/**
* @brief 路口放大图摆放位置。rect.orgin.x, rect.origin.y, rect.size.width生效, 高由enlargedIntersectionAspect决定
* 当前正在展示路口放大图时,修改不会立即生效,下次展示路口放大图时生效
*/
@property (nonatomic, assign) CGRect enlargedMapRect;
/**
* @brief 路口放大图宽高比,取值范围[1.0 , 2.0], 默认值为kTNKEnlargedIntersectionAspect。
*/
@property (nonatomic, assign) CGFloat enlargedMapAspect;
/**
* @brief 路口放大图中顶部的进度条是否展示,默认为YES
*/
@property (nonatomic, assign) BOOL showEnlargedMapProgressView;
/**
* @brief 路口放大图左下圆角,默认为20
*/
@property (nonatomic, assign) float bottomLeftCornerRadius;
/**
* @brief 路口放大图右下圆角,默认为20
*/
@property (nonatomic, assign) float bottomRightCornerRadius;
/**
* @brief 路口放大图左下圆角,默认为0
*/
@property (nonatomic, assign) float topLeftCornerRadius;
/**
* @brief 路口放大图右下圆角,默认为0
*/
@property (nonatomic, assign) float topRightCornerRadius;
@end
新增智能定位功能,在无法获得GPS信号时进行智能导航。
/**
* @brief 本次导航已行驶时间,单位:秒
*/
@property (nonatomic, readonly) int passedTime;
/**
* @brief 本次导航已行驶里程,单位:米
*/
@property (nonatomic, readonly) int passedDistance;
/**
* @brief 道路行政等级
*/
@property (nonatomic, readonly) TNKRoadGrade grade;
/**
* @brief 道路属性
*/
@property (nonatomic, readonly) TNKRoadKind roadKind;
/**
* @brief 长度.单位,米
*/
@property (nonatomic, readonly) int length;
/**
* @brief 是否显示路况光柱图,默认NO
*/
@property (nonatomic, assign) BOOL showTrafficBar;
/**
* @brief 光柱图实例,当showTrafficBar为YES时才不为空
*/
@property (nonatomic, readonly, nullable) TNKNaviTrafficBarWidget *trafficBar;
TNKSegmentItem新增adcode字段
TNKDriveRouteSearchOption新增字段,
/**
* @brief 是否规避限行。默认为YES
* @since 6.2.0
*/
@property (nonatomic, assign) BOOL avoidLimit;
/**
* @brief 算路时是否忽略重量。默认为NO
*/
@property (nonatomic, assign) BOOL willIgnoreWeight;
/// 主路线变化的原因
typedef enum _TNKChangeRouteMsgReason
{
TNKChangeRouteMsgReasonUnkown = 0, ///< 未知
TNKChangeRouteMsgReasonClicking = 1, ///< 司机点击备选路线
TNKChangeRouteMsgReasonDrivingIn = 2, ///< 司机驶入备选路线
TNKChangeRouteMsgReasonByAPI = 3, ///< 开发者调用API切换路线
TNKChangeRouteMsgReasonRoadClosed = 4, ///< 封路导致切换路线
TNKChangeRouteMsgReasonLimitChanged = 5, ///< 交限变化导致切换路线
TNKChangeRouteMsgReasonReroute = 6, ///< 重新算路导致的路线变化
} TNKChangeRouteMsgReason;
/**
* @brief 前方电子眼信息,会给出一定距离内的电子眼信息。size为0时表示前方一定距离内没有电子眼
* @param manager manager
* @param navCameras 电子眼信息数组
*/
- (void)driveNavManager:(TNKDriveNavManager *)manager didUpdateCameraInfo:(NSArray<TNKNavCameraInfo *> *)navCameras;
/**
* @brief 货车导航算路参数.
* @since 5.2.1
*/
@interface TNKTruckSearchOption : NSObject<NSCopying>
/**
* @brief 货车类型, 默认为轻型车
*/
@property (nonatomic, assign) TNKTruckType truckType;
/**
* @brief 长度,单位:m
*/
@property (nonatomic, assign) float length;
/**
* @brief 宽度,单位:m
*/
@property (nonatomic, assign) float width;
/**
* @brief 高度,单位:m
*/
@property (nonatomic, assign) float height;
/**
* @brief 总重量,单位:吨
*/
@property (nonatomic, assign) float weight;
/**
* @brief 核定载重,单位:吨
*/
@property (nonatomic, assign) float load;
/**
* @brief 轴数
*/
@property (nonatomic, assign) int axisCount;
/**
* @brief 轴重,单位:吨
*/
@property (nonatomic, assign) float axisLoad;
/**
* @brief 拖车类型
*/
@property (nonatomic, assign) TNKTruckTrailerType trailerType;
/**
* @brief 车牌颜色。
*/
@property (nonatomic, assign) TNKTruckPlateColor plateColor;
/**
* @brief 能源类型
*/
@property (nonatomic, assign) TNKEnergyType energyType;
/**
* @brief 功能类型
*/
@property (nonatomic, assign) TNKTruckFunctionType functionType;
/**
* @brief 尾气排放标准
*/
@property (nonatomic, assign) TNKEmissionStandard emissionStandard;
/**
* @brief 通行证类型
*/
@property (nonatomic, assign) TNKTruckPassType passType;
@end
/**
* @brief 设置是转向箭头的样式,不可为nil
*/
@property (nonatomic, strong) TNKTurnArrowConfig *turnArrowConfig;
/// 是否隐藏路线上的转向箭头,默认为NO
@property (nonatomic, assign) BOOL hidden;
/// 箭头颜色
@property (nonatomic, strong) UIColor *arrowColor;
/// 描边颜色
@property (nonatomic, strong) UIColor *borderColor;
/// 阴影颜色
@property (nonatomic, strong) UIColor *shadowColor;
// 是否为3D箭头,默认为YES
@property (nonatomic, assign) BOOL is3D;
// 箭头宽度与路线宽度的比值,默认为1
@property (nonatomic, assign) CGFloat widthScale;
@end
/**
* @brief 前方拥堵区域信息的更新回调。
* @param manager manager
* @param trafficJamInfo 前方拥堵区域信息。为nil时代表拥堵消失
*/
- (void)driveNavManager:(TNKDriveNavManager *)manager didUpdateTrafficJamInfo:(TNKTrafficJamInfo * _Nullable)trafficJamInfo;
有帮助
没帮助