{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671508859868,"data":{"id":71713090,"title":"6.4.5鹰眼业务图层控制器","slug":"duni92","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"

场景图

\"image.png\"

说明:鹰眼图是一个微型地图,用于展示总的行驶路线以及当前位置,方便用户在导航过程中随时掌握全程信息。它具备自己的mapview能力。

业务模式

鹰眼图业务模式控制鹰眼图底图元素的显隐、比例尺大小、俯仰角,车位跟随等。

鹰眼图按照接口使用可以分为:鹰眼参数初始化和更新、路线创建和销毁、新能源多边形绘制和清除、新能源多边形绘制和清除、搜索充电站绘制和清除,以及全览自定义图层。

业务模式的设置通过IBizControlService::SetBizMode(MapEngineIDengineId, BizModebizMode)


模式

模式名

路网

路况

室内地图

BizModeDefault

正常模式

显示

隐藏

隐藏

BizModeSimple

精简模式

显示

隐藏

隐藏

BizModeAR

AR模式

隐藏

隐藏

隐藏

BizModeIndoor

室内地图模式

显示

隐藏

显示

BizModeCruise2D

巡航2d模式

显示

显示

隐藏

BizModeCruise3D

巡航3d模式

显示

隐藏

隐藏

关键参数

鹰眼地图样式

com.autonavi.gbl.layer.model.EagleEyeStyle

字段

含义

mapViewParam

鹰眼图的mapview信息

mapColorParamDay

鹰眼白天背景颜色值,范围0-1

mapColorParamNight

鹰眼黑夜背景颜色值,范围0-1

eagleEyeParam

鹰眼图相关参数

isNightMode

是否黑夜模式

鹰眼图相关参数

com.autonavi.gbl.layer.model.EagleEyeParam

字段

含义

isDrawViaPoint

是否绘制途径点

targetWidth

鹰眼地图路线的显示范围,由HMI算好传入

endPreviewLength

末端全览的最大长度,单位:米;

viaUpdateLength

设定刷新频率的途径点距离,单位:米

viaUpdateTimeG

大于途径点全览的最大长度的比例尺刷新时间,单位:秒

viaUpdateTimeS

小于途径点全览的最大长度的比例尺刷新时间,单位:秒 

endUpdateLength

设定刷新频率的终点距离,单位:米

endUpdateTimeG

大于终点全览的最大长度的比例尺刷新时间,单位:秒

endUpdateTimeS

小于终点全览的最大长度的比例尺刷新时间,单位:秒

dataBuff

鹰眼地图的背景纹理图片


核心接口

/* 初始化鹰眼地图 */\nint com.autonavi.gbl.layer.BizGuideEagleEyeControl.init(EagleEyeStyle style, IPrepareLayerStyle layerStyle)\n\n/* 反初始化鹰眼地图 */\nboolean com.autonavi.gbl.layer.BizGuideEagleEyeControl.unInit()\n\n/* 鹰眼地图是否已经被初始化 */\nboolean com.autonavi.gbl.layer.BizGuideEagleEyeControl.isInitialized()\n\n/* 更新鹰眼图相关背景色参数 */\nvoid com.autonavi.gbl.layer.BizGuideEagleEyeControl.updateEagleEyeColorParam(MapColorParam mapColorParamDay, MapColorParam mapColorParamNight)\n\n/* 更新鹰眼图相关展示参数 */\nvoid com.autonavi.gbl.layer.BizGuideEagleEyeControl.updateEagleEyeParam(EagleEyeParam param)\n\n/* 更新鹰眼图展示位置 */\nvoid com.autonavi.gbl.layer.BizGuideEagleEyeControl.updateMapViewPort(MapViewPortParam portParam, boolean bSync)\n\n/* 刷新鹰眼图纹理样式 */\nvoid com.autonavi.gbl.layer.BizGuideEagleEyeControl.updateStyle(boolean isNightMode)\n\n/* 控制鹰眼显隐 */\nvoid com.autonavi.gbl.layer.BizGuideEagleEyeControl.setVisible(boolean bVisible)\n\n/* 返回鹰眼显隐状态 */\nboolean com.autonavi.gbl.layer.BizGuideEagleEyeControl.getVisible()\n\n/* 更新鹰眼图实时导航信息,支持内聚 */\nvoid com.autonavi.gbl.layer.BizGuideEagleEyeControl.updateNaviInfo(NaviInfo info)\n\n/* 更新鹰眼图车标位置,支持内聚 */\nvoid com.autonavi.gbl.layer.BizGuideEagleEyeControl.updateCarLocation(CarLoc carLoc)\n\n/* 设置鹰眼车标缩放系数和比例尺对应关系 */\nboolean com.autonavi.gbl.layer.BizGuideEagleEyeControl.setCarScaleByMapLevel(float[] vScales)\n\n/* 设置鹰眼路径置灰功能开关 */\nvoid com.autonavi.gbl.layer.BizGuideEagleEyeControl.setPassGreyMode(boolean bOpen)\n\n/* 绘制鹰眼地图的路径 */\nvoid com.autonavi.gbl.layer.BizGuideEagleEyeControl.drawPath(RouteDrawStyle style)\n\n/* 更新鹰眼地图的路线 */\nvoid com.autonavi.gbl.layer.BizGuideEagleEyeControl.updatePaths()\n\n/* 清除鹰眼图的路径信息 */\nvoid com.autonavi.gbl.layer.BizGuideEagleEyeControl.clearPath()\n\n/* 停止导航通知,支持内聚 */\nvoid com.autonavi.gbl.layer.BizGuideEagleEyeControl.stopNavi()\n\n/* 新能源多边形绘制 */\nvoid com.autonavi.gbl.layer.BizGuideEagleEyeControl.updateRangeOnMapPolygon(ArrayList< RangeOnMapPolygonInfo > polygonInfoList)\n\n/* 清除新能源多边形 */\nvoid com.autonavi.gbl.layer.BizGuideEagleEyeControl.clearRangeOnMapPolygon()\n\n/* 新能源圆形绘制包含边线 */\nvoid com.autonavi.gbl.layer.BizGuideEagleEyeControl.updateRangeOnMapCircle(BizCircleBusinessInfo circleInfo)\n\n/* 清除新能源圆形 */\nvoid com.autonavi.gbl.layer.BizGuideEagleEyeControl.clearRangeOnMapCircle()\n\n/* 搜索充电站图层业务 */\nvoid com.autonavi.gbl.layer.BizGuideEagleEyeControl.updateSearchChargeStation(ArrayList< BizSearchChargeStationInfo > pointList)\n\n/* 清除鹰眼充电站图层 */\nvoid com.autonavi.gbl.layer.BizGuideEagleEyeControl.clearSearchChargeStation()\n    \n/* 室内停车场切换楼层 */\nvoid com.autonavi.gbl.layer.BizGuideEagleEyeControl.SetParkFloor(int index, int floor)

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


调用示例

初始化鹰眼

 // 主屏为1024*600,鹰眼大小为200,鹰眼左上角绘制在(800,350)位置\nint width = 200;\n\nEagleEyeStyle eagleStyle = new EagleEyeStyle();\neagleStyle.mapViewParam = new MapViewParam();\neagleStyle.mapViewParam.deviceId = EGLDeviceID.EGLDeviceIDDefault;\neagleStyle.mapViewParam.engineId = MapEngineID.MapEngineIdMainEagleEye;\neagleStyle.mapViewParam.screenWidth = 1024;\neagleStyle.mapViewParam.screenHeight = 600;\nint r = 200 / 2;\nint tartgetWidth = (int) Math.sqrt((r * r + r * r));\nEagleEyeParam eagleEyeParam = eagleStyle.eagleEyeParam;\neagleEyeParam.targetWidth = tartgetWidth;\neagleEyeParam.endPreviewLength = 2000;//末端全览距离,单位:米\n\neagleStyle.mapViewParam.x = 800;\neagleStyle.mapViewParam.y = 350;\neagleStyle.mapViewParam.width = width;\neagleStyle.mapViewParam.height = width;\neagleStyle.mapViewParam.cacheCountFactor = 2f;//暂时使用默认值\n\nBinaryStream binaryStream = null;\nbinaryStream = new BinaryStream(ResUtil.decodeAssetResData(CC.getApplication(), "hawkeye/hawkeyemap_bg.png"));\neagleEyeParam.dataBuff = binaryStream;\n//day\neagleStyle.mapColorParamDay = new MapColorParam();\neagleStyle.mapColorParamDay.fRed = 0.33f;\neagleStyle.mapColorParamDay.fGreen = 0.33f;\neagleStyle.mapColorParamDay.fBlue = 0.33f;\neagleStyle.mapColorParamDay.fAlpha = 0.6f;\n\n//night\neagleStyle.mapColorParamNight = new MapColorParam();\neagleStyle.mapColorParamNight.fRed = 0.66f;\neagleStyle.mapColorParamNight.fGreen = 0.66f;\neagleStyle.mapColorParamNight.fBlue = 0.66f;\neagleStyle.mapColorParamNight.fAlpha = 0.66f;\n\neagleEyeParam.isDrawViaPoint = drawViaPoint;      // 是否绘制鹰眼途经点图标,AR为true\neagleEyeParam.endPreviewLength = 0xFFFFFFFF;    // 末端全览的最大长度,AR为最大值\neagleEyeParam.viaUpdateLength = 3000;   // 途经点策略剩余路径长度,用于控制刷新频率,3000M\neagleEyeParam.viaUpdateTimeG = 60;       // 途经点全览,>3000M,刷新频率60秒\neagleEyeParam.viaUpdateTimeS = 10;       // 途经点全览,<=3000M,刷新频率10秒\neagleEyeParam.endUpdateLength = 3000; // 终点策略剩余路径长度,用于控制刷新频率,3000M\neagleEyeParam.endUpdateTimeG = 60;     // 终点全览,>3000M,刷新频率60秒\neagleEyeParam.endUpdateTimeS = 10;     // 终点全览,<=3000M,刷新频率10秒\n// 初始化鹰眼\nguideEagleEyeControl.init(eagleStyle, layerStyle);


注意事项

1、鹰眼初始化

鹰眼初始化逻辑:GuideEagleEyeControl.init()有前置接口BizControlService.init

BizControlService.init接口传参的MapEngineID为鹰眼相关的内容,如:MapEngineIdMainEagleEye

需先初始化鹰眼业务配置(BizControlService.init),才能保证鹰眼初始化成功(GuideEagleEyeControl.init)

2、剩余路线全览策略

endPreviewLength是配置剩余路线全览策略的关键参数。设置的是末端全览的最大长度。如果要一直进行末端全览,则这个值设置为非常大即可,例如0xFFFFFFFF。

相关接口为:

BizGuideEagleEyeControl.init(EagleEyeStyle style, IPrepareLayerStyle layerStyle)

BizGuideEagleEyeControl.updateEagleEyeParam(EagleEyeParam param)

3、鹰眼路线途径点

isDrawViaPoint是用于控制鹰眼是否绘制途径点的关键参数

false表示不绘制鹰眼途径点,且剩余路线全览策略是从当前车位到终点

true表示绘制鹰眼途径点,且剩余路线全览策略是从当前车位到下一个途径点(没有下一个途径点则为终点)

相关接口为:

BizGuideEagleEyeControl.init(EagleEyeStyle style, IPrepareLayerStyle layerStyle)

BizGuideEagleEyeControl.updateEagleEyeParam(EagleEyeParam param)

4、鹰眼背景图

dataBuff是用于控制鹰眼整体绘制效果的关键参数dataBuff对应一张纹理,鹰眼的绘制效果是由纹理的透明区域设计效果决定的,如鹰眼绘制为圆形,则是纹理中间有块圆形透明区域。

相关接口为:

BizGuideEagleEyeControl.init(EagleEyeStyle style, IPrepareLayerStyle layerStyle)

BizGuideEagleEyeControl.updateEagleEyeParam(EagleEyeParam param)

5、鹰眼的大小及在屏幕的位置

mapViewParam是用于控制鹰眼绘制大小及位置的关键参数

mapViewParam.x和mapViewParam.y控制鹰眼在屏幕中的位置(如鹰眼的左上角位置为(800,350))

mapViewParam.width和mapViewParam.height控制鹰眼的宽高(如鹰眼的大小为200*200)

mapViewParam.screenWidth和mapViewParam.screenHeight为鹰眼所在屏幕的大小(如屏幕分辨率为1024*600)

相关接口为:

BizGuideEagleEyeControl.init(EagleEyeStyle style, IPrepareLayerStyle layerStyle)

BizGuideEagleEyeControl.updateMapViewPort(MapViewPortParam portParam, boolean bSync)

6、鹰眼初始化和反初始化

鹰眼初始化会创建一个鹰眼mapview,反初始化会释放这个鹰眼mapview,所以建议程序生命周期只调用一次初始化,使用一个鹰眼mapview,避免多次创建和释放。比如,不用进入导航时创建,退出导航时释放,因为异步操作车标位置更新等业务,可能导致鹰眼mapview已经被释放了,还在访问鹰眼mapview进而导致崩溃等问题。

7、室内停车场路线绘制

  1. 如果存在室内停车场,绘制停车场的鹰眼路线,必须调用SetParkFloor(int index, int floor),设置停车场所处楼层,其中index是停车场序号(只有一个停车场则设置为0);
  2. 多个停车场(A室内停车场到B室内停车场)情况下,起点在前(index=0),终点在后(index=1),并且鹰眼路线只显示当前场内路线或者场外路线,不会同时显示场内到场外全部路线;
  3. 导航期间,当前路线导航完毕,需要刷新鹰眼路线,自动切换到下一条路线。
","body_lake":null,"pub_level":null,"status":"0","updated_at":"2022-04-06 07:04:16","deleted_at":null,"nameSpace":"mnlcaa/v610","browseCount":208,"collectCount":0,"estimateDate":16,"docStatus":0,"permissions":true,"overView":false}}