{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671508803063,"data":{"id":71712941,"title":"2.4.2 视图创建销毁","slug":"ih46p4","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"

场景图

说明:

MapView,为AutoSDK抽象出来的地图视图的概念,用于和MapDevice进行绑定。一个MapDevice可绑定2个MapView。一个为主图,一个为鹰眼。

时序图

地图服务初始化

地图设备创建

创建


销毁

MapService.createMapView - 关键参数

com.autonavi.gbl.map.model.MapViewParam.mapDevice

取值

含义

com.autonavi.gbl.map.model.EGLDeviceID

对应已经创建好的Device ID

com.autonavi.gbl.map.model.MapViewParam.engineId

取值

含义

com.autonavi.gbl.map.model.MapEngineID.MapEngineIdMain

主屏ID

com.autonavi.gbl.map.model.MapEngineID.MapEngineIdMainEagleEye

主屏鹰眼ID

...


com.autonavi.gbl.map.model.MapEngineID.MapEngineIdEx3EagleEye

扩展屏3 鹰眼ID

com.autonavi.gbl.map.model.MapViewParam.asyncTaskThreadCount

取值

含义

2~20(建议值)


值越高加载图块越快,cpu消耗越高

com.autonavi.gbl.map.model.MapViewParam.cacheCountFactor

取值

含义

0.5~6(建议值)

值越大,内存占用越多

核心接口

// 创建视图\nMapView com.autonavi.gbl.map.MapService.createMapView(\n    MapViewParam param,\n\tIBLMapViewProxy mapViewProxy,\n\tIBLMapEngineObserver mapEngineObserver,\n\tIBLMapBusinessDataObserver mapBusinessDataObserver,\n\tIAnimationObserver animationObserver \n)\n\n// 销毁视图\nboolean com.autonavi.gbl.map.MapService.destroyMapView(\n    MapView pIMapView\n)

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

调用示例

// 创建\n// 创建渲染视图\nMapViewParam mapViewParam = new MapViewParam();\nmapViewParam.deviceId = mapDevice.getDeviceId();\nmapViewParam.engineId = MapEngineID.MapEngineIdMain;\nmapViewParam.x = 0;\nmapViewParam.y = 0;\nmapViewParam.width = AutoConstant.mScreenWidth;\nmapViewParam.height = AutoConstant.mScreenHeight;\nmapViewParam.screenWidth = AutoConstant.mScreenWidth;\nmapViewParam.screenHeight = AutoConstant.mScreenHeight;\nmapViewParam.cacheCountFactor = 2.0F;\nmapViewParam.asyncTaskThreadCount = 8;  // 可根据机器性能配置设置2-20的范围\nmapViewParam.mapProfileName = "";  //引擎全局配置表名称,默认设置为空即可\n\nmapView = mapService.createMapView(mapViewParam, new IBLMapViewProxy() {\n    @Override\n    public void reloadMapResource(long l, byte[] bytes, int i) {\n\n    }\n\n    @Override\n    public void requireMapRender(long engineId, int needFrames, int adviseFPS) {\n        if (null != mapDevice) {\n            mapDevice.resetTickCount(needFrames);\n        }\n    }\n\n    @Override\n    public byte[] requireMapResource(long l, MapResourceParam mapResourceParam) {\n        return MapHelper.getMapAssetHelper().requireResource(CC.getApplication(), mapResourceParam);\n    }\n\n    @Override\n    public void onMapLogReporter(long l, int i, int i1, String s) {\n\n    }\n\n    @Override\n    public void onSendBehaviorLog(long l, String s, String s1, String s2) {\n\n    }\n}, null, null, null);\n\nmapView.addMapviewObserver(this); //地图视图观察者\nmapView.addGestureObserver(this); //地图手势观察者\nmapView.setTextTextureObserver(this); //文字字模观察者\n\n// 销毁\nif (mapView != null) {\n    mapView.removeMapviewObserver(this);\n    mapView.removeGestureObserver(this);\n    mapView.setTextTextureObserver(null);\n}\nmapService.destroyMapView(mapView);\nmapView = null;



","body_lake":null,"pub_level":null,"status":"0","updated_at":"2022-10-19 06:50:38","deleted_at":null,"nameSpace":"mnlcaa/v610","browseCount":188,"collectCount":0,"estimateDate":7,"docStatus":0,"permissions":true,"overView":false}}