{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671508996694,"data":{"id":71713919,"title":"17.6 特色屏应用实例","slug":"ymqxp6","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"

场景说明

当一个屏不需要显示全部元素时,就使用DisplayCrop进行针对性定制,从而减少cpu、内存的占用。目前Display提供默认的裁剪的类型有放大路口屏、鹰眼屏、hud屏。

DisplayCrop对象在调用createDisplay时,在IMapDisplayObserver的onDisplayCropCustom中返回。DisplayCrop可以对地图显示元素、图层显示元素、主图回调等进行配置。

放大路口:

鹰眼/异形屏:

时序图

视图管理

关键参数

com.autonavi.gbl.multi.model.DisplayType\u0000

取值

含义

DisplayTypeHud

hud类型

DisplayTypeJv

放大路口类型

DisplayTypeEagleEye

鹰眼类型

\u0000核心接口

// 创建视图\nDisplay com.autonavi.gbl.multi.display.MultiDisplayService.createDisplay(DisplayCreateParam)\n \n// 视图裁剪\nvoid com.autonavi.gbl.multi.display.observer.IMapDisplayObserver.onDisplayCropCustom(iDisplay var1, DisplayCrop var2)\n\n// 去除所有显示元素\nvoid com.autonavi.gbl.multi.display.DisplayCrop.showMapAllContent(boolean isShow)\n\n// 是否显示精品三维\nvoid com.autonavi.gbl.multi.display.DisplayCrop.showMapRealCity(boolean isShow)\n\n// 是否开启渲染回调\nvoid com.autonavi.gbl.multi.display.DisplayCrop.setMapCallbackEnable(boolean preDrawEnable, boolean afterDrawEnable)\n\n// 是否使用内置图层能力\nvoid com.autonavi.gbl.multi.display.DisplayCrop.enableAllVirtualBuses(boolean enable)\n\n// 单独开启某个内存图层能力\nvoid com.autonavi.gbl.multi.display.DisplayCrop.enableVirtualBus(@BusBusinessType1 int type, boolean enable)\n\n// 是否开启图层碰撞\nvoid com.autonavi.gbl.multi.display.DisplayCrop.setLayerCollisionEnable(boolean enable)

调用示例

放大路口

只显示放大路口,该类型下视图中默认不显示其他元素,只有在出现放大路口的时候显示,其余时间空白。

// display type设置DisplayTypeJv,其余参考视图创建章节\nDisplay com.autonavi.gbl.multi.display.MultiDisplayService.createDisplay(\n\tDisplayTypeJv\n)

鹰眼视图

只显示鹰眼图,不显示主地图。可用于异形屏显示。减少主地图的内存消耗以及启动时间。

// display type设置DisplayTypeEagleEye,其余参考视图创建章节\nDisplay com.autonavi.gbl.multi.display.MultiDisplayService.createDisplay(\n\tDisplayTypeEagleEye\n)

hud

使用dmap平台定制相关的hud样式。

// display type设置DisplayTypeHud,其余参考视图创建章节\nDisplay com.autonavi.gbl.multi.display.MultiDisplayService.createDisplay(\n\tDisplayTypeHud\n)

\u0000DisplayCrop

// 在观察者中进行DisplayCrop操作,只截取onDisplayCropCustom\nnew IDisplayObserver() {\n            @Override\n            public void onDisplayCropCustom(Display display, DisplayCrop displayCrop) {\n            \t\t// 例如放大路口模式是关闭所有图层显示,但也可以全部开启,不过开启后性能优化则不包含了。\n                displayCrop.showMapAllContent(true);\n                // 可以关闭图层内聚功能 \n                displayCrop.enableAllVirtualBuses(false);\n            }\n}\n
","body_lake":null,"pub_level":null,"status":"0","updated_at":"2022-08-08 02:33:27","deleted_at":null,"nameSpace":"mnlcaa/v610","browseCount":136,"collectCount":0,"estimateDate":5,"docStatus":0,"permissions":true,"overView":false}}