// // AMapNaviCompositeAnnotation.h // AMapNaviKit // // Created by eidan on 2018/3/26. // Copyright © 2018年 Amap. All rights reserved. // #import #import "AMapNaviHeaderHandler.h" ///导航页添加自定overlay,需要遵守此协议 since 6.7.0 ///To add a custom overlay to the navigation page, this protocol must be followed @protocol AMapNaviCompositeOverlay @required ///导航SDK内部会将该值传给地图进行绘制, 开发者自行实现的对象在遵守协议后, 需对该值赋值, 不能为空. ///The navigation SDK will pass this value to the map for rendering. After the developer's self-implemented object complies with the protocol, this value must be assigned and cannot be empty. @property (nonatomic, strong, readonly) MAOverlayRenderer *overlayRender; @optional ///添加的overlay所在层级, 参考MAOverlayLevel, 默认 MAOverlayLevelAboveRoads. ///The hierarchy of the added overlay, refer to MAOverlayLevel, default is MAOverlayLevelAboveRoads. @property (nonatomic, assign, readonly) MAOverlayLevel overlayLevel; @end ///导航界面自定义标注 Custom annotations in the navigation interface since 5.5.0 @interface AMapNaviCompositeCustomAnnotation : NSObject ///标注的中心坐标 The center coordinate of the annotation @property (nonatomic, assign) CLLocationCoordinate2D coordinate; ///z值,大值在上,默认为0. 类似CALayer的zPosition ///Z-value, higher values are on top, default is 0. Similar to CALayer's zPosition @property (nonatomic, assign) NSInteger zIndex; ///导航界面添加的自定义标注是否可以响应事件,默认为NO. since 7.5.0 ///Whether the custom annotation added in the navigation interface can respond to events, default is NO. @property (nonatomic, assign) BOOL enable; ///导航界面添加的自定义标注的复用view的标识,注意:如果两个标注有不同的图标,这个复用标识必须设置,否则会出现复用混乱的现象. since 8.0.0 ///The reuse identifier of the custom annotation view added to the navigation interface. Note: If two annotations have different icons, this reuse identifier must be set, otherwise reuse confusion will occur. @property (nonatomic, copy) NSString *identifier; /** * @brief 初始化导航界面自定义标注. since 5.5.0 * Custom annotations initialized in the navigation interface will be displayed * @param coordinate 标注的中心坐标. * The center coordinate of the annotation * @param view 会被显示在驾车导航界面的地图上. 如需调整view的相对位置,请修改view.frame.origin * On the map of the driving navigation interface. To adjust the relative position of the view, please modify view.frame.origin * @return id 自定义标注对象 * ID custom annotation object */ - (id)initWithCoordinate:(CLLocationCoordinate2D)coordinate view:(UIView *)view; @end ///自定义标注IconModel since 10.0.920 ///Custom Annotation IconModel since 10.0.920 @interface AMapNaviCustomAnnotationItemIconModel : NSObject ///icon 锚点 默认为0.5, 有效值[0,1] ///Icon anchor defaults to 0.5, valid values [0,1] @property(nonatomic, assign) double anchorX; ///icon 锚点 默认为0.5, 有效值[0,1] ///Icon anchor defaults to 0.5, valid values [0,1] @property(nonatomic, assign) double anchorY; ///自定义标注图片,使用png格式。 ///Customize annotated images in PNG format. @property(nonatomic, strong) UIImage *image; @end ///自定义标注 点击事件 since 10.0.920 ///Custom annotation click event since 10.0.920 typedef void(^AMapNaviAnnotationClickCallback)(); ///自定义标注 since 10.0.920 ///Custom annotation since 10.0.920 @interface AMapNaviCustomAnnotation : NSObject /// 标注的坐标 Marked coordinates @property(nonatomic, assign, readonly) CLLocationCoordinate2D coordinate; /// 图标 icon @property(nonatomic, strong, readonly) AMapNaviCustomAnnotationItemIconModel *icon; ///自定义标注 点击事件 since 10.0.920 ///Custom annotation click event since 10.0.920 @property(nonatomic, copy) AMapNaviAnnotationClickCallback clickBlock; /** * @brief 初始化自定义标注. since 10.0.920 * Initialize custom annotation. since 10.0.920 * @param coordinate 标注的中心坐标. * The center coordinates of the annotation. * @return instancetype 自定义标注对象 * Custom annotation object */ - (instancetype)initWithCoordinate:(CLLocationCoordinate2D)coordinate iconModel:(AMapNaviCustomAnnotationItemIconModel *)iconModel; @end