{"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。一个为主图,一个为鹰眼。
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;