{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671508871538,"data":{"id":71713311,"title":"6.5.6业务图层中的动画","slug":"zmrro6","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"

基本介绍

存在一些具备动画能力的业务图层。本篇内容是对所有具备动画能力的业务图层做个统一介绍,目前涉及到以下业务图层:车标、飞线终点、路径线、导航电子眼、导航箭头、ODD线。

场景图

车标

\"image.png\"


飞线终点

\"image.png\"


路径线

\"image.png\"


导航电子眼

\"image.png\"

\"camera2

导航箭头

\"image.png\"

\"arrow2.gif\"

ODD线

\"image.png\"


核心接口

/* 设置车标动画开关 */\nvoid com.autonavi.gbl.layer.BizCarControl.setCarAnimationSwitch(boolean bOpen)\n\n/* 设置骨骼车标状态 */\nvoid com.autonavi.gbl.layer.BizCarControl.setSkeletonCarStatus(@SkeletonCarStatus.SkeletonCarStatus1 int status)\n\n/* 主动绘制飞线终点 */\nvoid com.autonavi.gbl.layer.BizFlyLineControl.updateDrawMode(@FlylineDrawMode.FlylineDrawMode1 int drawMode, boolean bAnim)\n\n/* 设置路径生长动画 */\nvoid com.autonavi.gbl.layer.BizGuideRouteControl.enablePathGrown(boolean bGrown, int selectedDuration, int otherDuration)\n\n/* 设置电子眼生长动画 */\nvoid com.autonavi.gbl.layer.BizRoadFacilityControl.enableCameraGrown(boolean bGrown)\n\n/* 设置箭头生长动画 */\nvoid com.autonavi.gbl.layer.BizGuideRouteControl.enableArrowGrown(boolean bGrown)\n\n/* 设置箭头清除动画 */\nvoid com.autonavi.gbl.layer.BizGuideRouteControl.enableArrowWipe(boolean bWipe)\n    \n/* 设置箭头生长动画参数 */\nvoid com.autonavi.gbl.layer.BizGuideRouteControl.setGrownAnimInfo(int duration, int times))\n\n/* 设置路径线上odd数据动画效果 */\nvoid com.autonavi.gbl.layer.BizGuideRouteControl.enableOddAnimation(boolean bEnable, AnimationStyleParam param)

说明:函数详情,请复制函数名称到在线API搜索


调用示例

车标呼吸动画控制

// 关闭车标呼吸动画\ncarControl.setCarAnimationSwitch(false);\n// 开启车标呼吸动画\ncarControl.setCarAnimationSwitch(true);

骨骼车标状态控制

// 设置骨骼车标静止态\ncarControl.setSkeletonCarStatus(SkeletonCarStatus.SkeletonCarStatusStatic);\n// 设置骨骼车标移动态\ncarControl.setSkeletonCarStatus(SkeletonCarStatus.SkeletonCarStatusMove);\n// 设置骨骼车标超速态\ncarControl.setSkeletonCarStatus(SkeletonCarStatus.SkeletonCarStatusSpeed);

飞线终点弹跳动画

// 飞线绘制模式:点击后状态的终点 有弹跳动画\nbizFlyLineControl.updateDrawMode(FlylineDrawMode.FLYLINE_CLICKED_NORMAL_END, true);\n// 飞线绘制模式:点击后状态的终点 无弹跳动画\nbizFlyLineControl.updateDrawMode(FlylineDrawMode.FLYLINE_CLICKED_NORMAL_END, false);

路径线生长动画控制

// 打开路线生长动画,其中主路线的生长动画为400ms,备选路线的生长动画为700ms\nbizGuideRouteControl.enablePathGrown(true, 400, 700);\n// 关闭路线生长动画\nbizGuideRouteControl.enablePathGrown(false, 400, 700);

导航电子眼生长动画控制

// 开启电子眼生长动画\nbizRoadFacilityControl.enableCameraGrown(true);\n// 关闭电子眼生长动画\nbizRoadFacilityControl.enableCameraGrown(false);

导航箭头生长动画控制

// 开启箭头生长动画\nbizGuideRouteControl.enableArrowGrown(true);\n// 关闭箭头生长动画\nbizGuideRouteControl.enableArrowGrown(false);\n// 设置箭头生长动画参数\nbizGuideRouteControl.setGrownAnimInfo(900,10);//生长动画一次900ms,总共10次

导航箭头擦除动效控制

// 开启箭头擦除动画\nbizGuideRouteControl.enableArrowWipe(true);\n// 关闭箭头擦除动画\nbizGuideRouteControl.enableArrowWipe(false);

ODD线呼吸动画

AnimationStyleParam param;\nparam.duration = 3000;\nparam.fromAlpha = 0;\nparam.endAlpha = 1;\n// 开启ODD线呼吸动画\nbizGuideRouteControl.enableOddAnimation(true, param);\n// 关闭ODD线呼吸动画\nbizGuideRouteControl.enableOddAnimation(false, param);


JSON配置

车标

{\n    "car_marker":                  // 车标纹理资源\n    {\n        "compass_marker_id":-1,           // 罗盘\n        "compass_indicator_marker_id":-1, // 罗盘上小圆点\n        "track_marker_id":-1,             // 车标\n        "track_arc_marker_id":-1,         // 车标底图\n        "shine_marker_id":-1              // 呼吸\n    },\n    "compass_marker_info":          // 罗盘上4个marker(东南西北)的资源\n    {\n        "east_marker_id":-1,              // 东罗盘\n        "south_marker_id":-1,             // 南罗盘\n        "west_marker_id":-1,              // 西罗盘\n        "north_marker_id":-1,             // 北罗盘\n        "relative_distance":0.0           // marker相对中心点位置\n    },\n    "car_animation_style":          // 车标的动画风格参数\n    {\n        "car_style":-1,                     // 网络定位状态下或者GPS下的车标\n        "no_net":                           // 非网络定位\n        {\n            "animation_duration":0,           // 动画时长\n            "from_zoom":0.0,                  // 呼吸动画,变化范围开始位置,纹理图片大小比例\n            "end_zoom":0.0,                   // 呼吸动画,变化范围结束位置,纹理图片大小比例\n            "from_lpha":0.0,                  // 起始alpha值,范围[0,1]\n            "end_lpha":0.0                    // 结束alpha值,范围[0,1]\n        },\n        "net":                              // 网络定位\n        {\n            "animation_duration":0,           // 动画时长\n            "from_zoom":0.0,                  // 呼吸动画,变化范围开始位置,纹理图片大小比例\n            "end_zoom":0.0,                   // 呼吸动画,变化范围结束位置,纹理图片大小比例\n            "from_lpha":0.0,                  // 起始alpha值,范围[0,1]\n            "end_lpha":0.0                    // 结束alpha值,范围[0,1]\n        }\n    }\n}


注意事项

1、车标动画

车标动画是通过json的方式进行配置。其中车标呼吸动画的描述在"car_animation_style"

"car_style"目前支持两个值,1或2

"car_style":1

1为呼吸灯动画,对应纹理为"shine_marker_id"。

呼吸灯效果是透明动画,动画类型为来回摆动,从"from_lpha"到"end_lpha"

动画效果使用的是"no_net"内容。

"car_style":2

2为小车动画,对应纹理为"track_marker_id"。

小车呼吸效果是缩放动画,动画类型为来回摆动,从"from_zoom"到"end_zoom"

动画效果使用的是"net"内容。


2、业务图层动画默认值

","body_lake":null,"pub_level":null,"status":"0","updated_at":"2022-04-06 07:04:35","deleted_at":null,"nameSpace":"mnlcaa/v610","browseCount":121,"collectCount":0,"estimateDate":12,"docStatus":0,"permissions":true,"overView":false}}