{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671508809920,"data":{"id":71713217,"title":"2.5.8 动画","slug":"aazrzg","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"
本章节主要介绍HMI如何添加自定义的地图动画。AutoSDK建议只有在地图姿态不满足需求时,如需要同时组合多个地图姿态属性时,才使用自定义地图动画。
更多详细地图姿态动画,可以参考产品文档地图姿态变化章节。
无
/**\n * @brief 组合动画\n * @param[in] mapGroupParam 地图视图参数\n * @param[in] duration 动画持续时间\n * @param[in] bClear 执行前清除所有动画,true为清除所有动画,false为不清除所有动画,加到动画队列\n * @param[in] animationId 动画id\n * @note multi\n */\nvoid com.autonavi.gbl.map.OperatorAnimation.addGroupAnimation(AnimationGroupParam mapGroupParam, long duration, boolean bClear, long animationId)\n\n/**\n * @brief 移图到地图某坐标点\n * @param[in] moveParam 移图参数\n * @param[in] duration 动画持续时间\n * @param[in] bClear 执行前清除所有动画,true为清除所有动画,false为不清除所有动画,加到动画队列\n * @param[in] animationId 动画id\n * @note multi\n */\nvoid com.autonavi.gbl.map.OperatorAnimation.addMoveAnimation(AnimationMoveParam moveParam, int duration, boolean bClear, long animationId)\n\n/**\n * @brief 以地图某坐标点进行缩放\n * @param[in] pivotZoomParam 移图参数\n * @param[in] duration 动画持续时间\n * @param[in] bClear 执行前清除所有动画,true为清除所有动画,false为不清除所有动画,加到动画队列\n * @param[in] animationId 动画id\n * @note multi\n */\nvoid com.autonavi.gbl.map.OperatorAnimation.addPivotZoomAnimation(AnimationPivotZoomParam pivotZoomParam, int duration, boolean bClear, long animationId)\n\n\n/**\n * @brief 以地图某坐标点进行缩放旋转\n * @param[in] zoomRotateParam 移图参数\n * @param[in] duration 动画持续时间\n * @param[in] bClear 执行前清除所有动画,true为清除所有动画,false为不清除所有动画,加到动画队列\n * @param[in] animationId 动画id\n * @note multi\n */\nvoid com.autonavi.gbl.map.OperatorAnimation.addZoomRotateAnimation(AnimationZoomRotateParam zoomRotateParam, int duration, boolean bClear, long animationId)\n\n\n/**\n * @brief 以屏幕某坐标点为地图中心,并把地图某坐标点移动至地图中心\n * @param[in] geoAndScreenParam 移图参数\n * @param[in] duration 动画持续时间\n * @param[in] bClear 执行前清除所有动画,true为清除所有动画,false为不清除所有动画,加到动画队列\n * @param[in] animationId 动画id\n * @note multi\n */\nvoid com.autonavi.gbl.map.OperatorAnimation.addGeoAndScreenCenterAnimation(AnimationGeoAndScreenParam geoAndScreenParam, int duration, boolean bClear, long animationId)\n\n/**\n* @brief 以投影中心为坐标原点,将指定的屏幕像素点移到投影中心\n* @param[in] sreenMoveParam 屏幕像素点相对投影中心的坐标参数\n* @param[in] duration 动画持续时间(单位:ms)\n* @param[in] bClear 执行前清除所有动画,true为清除所有动画,false为不清除所有动画,加到动画队列\n* @note multi\n*/\nvoid com.autonavi.gbl.map.OperatorAnimation.addScreenMoveAnimation(AnimationScreenMoveParam sreenMoveParam, int duration, boolean bClear)\n/**\n * @brief 移除动画\n * @param[in] eType 动画类型,BL组装的组合动画,MapAnimationGroupType\n * @note 该接口会把动画动作直接置为终态,然后再结束\n * @note multi\n */\nvoid com.autonavi.gbl.map.OperatorAnimation.removeAnimation(@MapAnimationGroupType.MapAnimationGroupType1 int eType)\n\n\n/**\n * @brief 移除动画\n * @param[in] nTypes 动画类型,可由MapAnimationUserType用户自由组合\n * @param[in] pUserData 触发监听时,会将该参数传递给观察者\n * @note multi\n */\nvoid com.autonavi.gbl.map.OperatorAnimation.removeAnimationByTypes(long nTypes, long pUserData)\n\n/**\n * @brief 移除所有动画\n * @param[in] pUserData 触发监听时,会将该参数传递给观察者\n * @param[in] bForceRemove 是否强制移除\n * @note multi\n */\nvoid com.autonavi.gbl.map.OperatorAnimation.removeAllAnimation(long pUserData, boolean bForceRemove)\n\n/**\n * @brief 主动结束所有动画操作\n * @param[in] pUserData 触发监听时,会将该参数传递给观察者\n * @note 该接口会把动画动作直接置为终态,然后再结束\n * @note multi\n */\nvoid com.autonavi.gbl.map.OperatorAnimation.finishAllAnimation(boolean bSync, long pUserData)
说明:函数详情,请复制函数名称到在线API搜索
//创建mapview实例\n...\n\n//创建组合动画参数\nAnimationGroupParam groupParam = new AnimationGroupParam();\ngroupParam.lon = 116.474718,;\ngroupParam.lat = 39.994126;\ngroupParam.maplevel = 16;\ngroupParam.mapRollAngle = 0;\ngroupParam.pitchAngle = 65;\n//添加组合动画,该自定义动画animationId默认0即可。若需要监听动画开始和结束时机外部可指定唯一id,供回调区分。\nmapView.getOperatorAnimation().addGroupAnimation(groupParam, 500, false, 0);