{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671516362810,"data":{"id":71712571,"title":"6.3.3.8栅格大图图元","slug":"gpg0k7","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"
栅格图元(RasterImageLayerItem)是将纹理绘制到屏幕指定区域的一种LayerItem,目前在业务图层的应用场景为栅格路口大图图层。
Item必须通过AddItem的方式依附在BaseLayer上
字段 | 含义 |
com.autonavi.gbl.map.layer.BaseLayer | 基础图层,item必须附加在Layer上 |
com.autonavi.gbl.map.layer.RasterImageLayerItem | 栅格图元 |
com.autonavi.gbl.map.layer.model.LayerItemType.LayerItemRasterImageType | 图元类型:栅格图 |
/* 回调获取栅格图元json串 */\nString com.autonavi.gbl.map.layer.observer.IPrepareLayerStyle.getLayerStyle(BaseLayer pLayer, LayerItem pItem, boolean forJava)\n\n/* 回调获取纹理id */\nint com.autonavi.gbl.map.layer.observer.IPrepareLayerStyle.getMarkerId(BaseLayer pLayer, LayerItem pItem, String strMarkerId, String strMarkerInfo)\n\n/* 加载纹理 */\nboolean com.autonavi.gbl.map.MapView.addLayerTexture(LayerTexture texture)\n\n/* 更新样式 */\nvoid com.autonavi.gbl.map.layer.RasterImageLayerItem.updateStyle()\n\n/* 设置栅格图图片数据 */\nboolean com.autonavi.gbl.map.layer.RasterImageLayerItem.setRasterImageData(LayerTexture arrowImge, LayerTexture roadImage)
说明:函数详情,请复制函数名称到在线API搜索
...\n/*< 创建RasterImageLayerItem并添加到图层 */\nBaseLayer pLayer = new BaseLayer("layerName", mapView); // 创建BaseLayer\npLayer.setStyle(prepareLayerStyle); // 设置样式回调\nmapView.getLayerMgr.addLayer(pLayer); // 将图层添加到管理器中\nRasterImageLayerItem pItem = new RasterImageLayerItem(); // 创建RasterImageLayerItem\npLayer.setBusinessType(BizRoadCrossTypeRasterImage); // 设置业务类型\npItem.setRasterImageData(arrowImage, roadImage); // 设置栅格图数据\npLayer.addItem(pItem); // 添加item到layer中\n\n/* 回调获取栅格图元json,回调获取markerID */\npublic class MapPrepareLayerStyle implements IPrepareLayerStyle {\n\t...\n\t@Override\n public String getLayerStyle(final BaseLayer pLayer, LayerItem layerItem, boolean b) {\n\t\tString strStyleJson = "";\n\t\tint itemType = layerItem.getItemType();\n int businessType = layerItem.getBusinessType();\n\t\tswitch (itemType) {\n\t\t\tcase LayerItemType.LayerItemRasterImageType:\n ... // 按需对businessType进行判断,获取指定的json串\n\t\t\t\tstrStyleJson = getStyleBeanJson("rasterImage_style");\n\t\t\t\tbreak;\n\t\t\tcase LayerItemType.xxx:\n\t\t\t\tbreak;\n\t\t}\n\t\treturn strStyleJson;\n\t}\t\n\t...\t\n\t@Override\n public int getMarkerId(BaseLayer pLayer, LayerItem pItem, String strMarkerId, String strMarkerInfo) {\n int markerId = -1;\n strMarkerId = strMarkerId.trim();\n if (strMarkerId.isEmpty()) {\n return markerId;\n } \n ...\n int itemType = layerItem.getItemType();\n int businessType = layerItem.getBusinessType();\n\t\t\n\t\tswitch (itemType) {\n\t\t\tcase LayerItemType.LayerItemRasterImageType:\n ... // 按需对businessType进行判断\n //判断纹理信息,若未加载则通过addLayerTexture加载纹理\n\t\t\t\tmarkerId = addLayerTexture(texture);\n\t\t\t\tbreak;\n\t\t\tcase LayerItemType.xxx:\n\t\t\t\tmarkerId = -1;\n break;\n\t\t}\n\t\treturn markerId;\n\t}\t\n}
{\n "raster_image_layer_item_style":{\n "priority":0, \t//栅格图元优先级\n "winx":0, \t//栅格图在屏幕上的位置,左上角x值,屏幕坐标系\n "winy":0, \t//栅格图在屏幕上的位置,左上角y值,屏幕坐标系\n "width":256, \t//栅格图显示区域宽度\n "height":256, \t//栅格图显示区域高度\n "bg_marker_id":"bg", \t//背景纹理\n "bg_marker_info":"", \t//背景纹理属性描述,一般用于描述纹理加载要用的信息(如锚点相关)\n "marker_id":"marker", \t//纹理\n "marker_info":"", \t//纹理属性描述,一般用于描述纹理加载要用的信息(如锚点相关)\n \t"plane_lut_attr":{\t\t\t\t\t\t\t//栅格图色表信息\n "draw_mode":1, //1:箭头偏移描边,箭头固定为白色,描边固定为蓝色;2:箭头换色,无箭头描边\n "arrow_marker_id":0,\t\t\t\t//栅格图箭头纹理,来源于原setRasterImageData输入的arrowImage\n "arrow_marker_info" : "",\t\t//栅格图箭头纹理属性描述,一般用于描述纹理加载要用的信息(如锚点相关),可不设\n "route_marker_id" : 256,\t\t//栅格图路面纹理,来源于原setRasterImageData输入的roadImage\n "route_marker_info" : "",\t\t//栅格图路面纹理属性描述,一般用于描述纹理加载要用的信息(如锚点相关),可不设\n "lut_marker_id" : 256,\t\t\t//栅格图色表纹理\n "lut_marker_info" : "",\t\t\t//栅格图色表纹理属性描述,一般用于描述纹理加载要用的信息(如锚点相关),可不设\n "arrow_color" : 0,\t\t\t\t\t//栅格图箭头颜色,LUT模式暂时不支持改色,即当前该字段未启用\n "arrow_out_line_Color" : "0xaa009bdc",\t//栅格图箭头描边颜色\n "arrow_offset" : 0.02,\t\t\t//栅格图箭头偏移比例\n "lut_attr" :{\t\t\t\t\t\t\t\t//栅格图色表图片参数\n "colors" : 16,\t\t\t\t\t//栅格图色表图片相关,颜色数\n "max_colors" : 15,\t\t\t//栅格图色表图片相关,最大颜色数\n "image_width" : 256,\t\t//栅格图色表图片相关,色表图片宽度\n "image_height" : 16\t\t\t//栅格图色表图片相关,色表图片高度\n },\n "fall_offset" : 0.3,\t\t\t\t\t\t//偏移基准位置\n "sky_fog_color" : "0xff009bdc"\t//雾色\n }\n }\n}
"raster_image_style":{\n "raster_image_layer_item_style":{\n "priority":0,\n "winx":24,\n "winy":224,\n "width":464,\n "height":352,\n "bg_marker_id":"global_image_cross_background_day_night",\n "marker_id":50000\n }\n }
"winx"、"winx"的内容为栅格图的屏幕坐标,左上角
"width"、"height"的内容为栅格图的在屏幕显示区域的宽高
"bg_marker_id"、"bg_marker_info"为栅格图背景图纹理及纹理信息
"marker_id"、"marker_id"为栅格图纹理及纹理信息
RasterImageLayerItem的ItemType为LayerItemRasterImageType(图元类型:栅格图)
setRasterImageData传入的LayerTexture.anchorType需要为LayerIconAnchorLeftTop(锚点:左上角),不然会出现绘制偏移
可用于面板图层的绘制,不触发setRasterImageData接口,则会绘制marker_id和bg_marker_id的内容
","body_lake":null,"pub_level":null,"status":"0","updated_at":"2022-04-06 07:03:53","deleted_at":null,"nameSpace":"mnlcaa/v610","browseCount":71,"collectCount":0,"estimateDate":11,"docStatus":0,"permissions":true,"overView":false}}