{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671516357941,"data":{"id":71712562,"title":"6.3.3.2线图元","slug":"ao3o50","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"

效果图

\"image.png\"

\"image.png\"


说明:线图元LineLayerItem是基础图层中的基础元素之一,本身派生于基础图元LayerItem,同时其派生了

  巡航拥堵路段加粗线图元、自定义线图元、路径上拥堵路线图元等线图元支持设置颜色和线宽度等属性配置。

时序图


核心参数

字段

含义

com.autonavi.gbl.map.layer.BaseLayer

基础图层,item必须附加在Layer上

com.autonavi.gbl.map.layer.LineLayerItem

线图元

com.autonavi.gbl.map.layer.model.LayerItemType.LayerItemLineType

图元类型:线图元类型

核心接口

void com.autonavi.gbl.map.layer.LineLayerItem.setPoints(ArrayList< Coord3DDouble > points)


void com.autonavi.gbl.map.layer.LineLayerItem.setColor(long color, long borderColor) 


void com.autonavi.gbl.map.layer.LineLayerItem.setWidth(int width, int borderWidth)

 

void com.autonavi.gbl.map.layer.LineLayerItem.updateStyle()


LayerItemType com.autonavi.gbl.map.layer.LineLayerItem.getItemType()

 

LineLayerItemStyle com.autonavi.gbl.map.layer.LineLayerItem.getStyle()


其他核心接口能力,继承自基础图元LayerItem,不再逐一列举。

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

代码示例


 ...\n \n /**< 添加线图元 */    \npublic void addLineLayerItem() {\n     \n    LineLayerItem lineItem = new LineLayerItem();\n    lineItem.setID("id2");\n    lineItem.setPriority(1);\n    lineItem.setBusinessType(DemoConstant.BusinessTypeLineXXX); // 客户端定义的曲线业务类型\n    ArrayList<Coord3DDouble> points = new ArrayList<Coord3DDouble>();\n    Coord3DDouble start = new Coord3DDouble(116.470735, 39.992745, 0.0);\n    Coord3DDouble end = new Coord3DDouble(116.472575,39.992096, 0.0);\n    points.add(start);\n    points.add(end);\n    lineItem.setPoints(points);\n    mBaseLayer.addItem(lineItem);   \n }\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.LayerItemLineType:\n                ... // 按需对businessType进行判断,获取指定的json串\n\t\t\t\tstrStyleJson = getStyleBeanJson("line_layer_item_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.LayerItemLineType:\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...


Json配置

关键字说明

字段名

含义

取值说明

priority

优先级

默认值为0,值越大在同个图层内,显示优先级越高

use_cap

是否使用线帽

1为是,0为否

use_color

是否使用颜色

1为是,0为否

draw_cover

是否绘制遮挡

1为是,0为否

can_be_coveredbylabel

是否能够被label遮挡

1为是,0为否

fill_texture填充纹理


border_texture边框纹理

纹理

marker_id名称

marker_info属性描述

color颜色

width宽度

texture_info

纹理参数

纹理参数属性

cap_texture_info

线帽纹理参数

线帽纹理参数属性

json全量配置(各字段说明)

{\n    "line_layer_item_style":{\n        "priority":0,                 //优先级,可不设\n        "use_cap":1,                  //是否使用线帽,可不设\n        "use_color":1,                //是否使用颜色,可不设\n        "draw_cover":1,               //是否绘制遮挡,可不设\n        "can_be_coveredbylabel":0,    //是否能够被label遮挡,可不设\n\t\t\t\t"half_side":0,   \t\t\t\t\t\t\t//是否为半边绘制模式,1为纯纹理绘制方式,此时texture设置的color不生效\n        "odd_width":0,\t\t\t\t\t\t\t\t//端头延长宽度,可不设\n        "fill_texture":{              //填充线的纹理信息\n            "marker_id":"fill",       //线资源id\n            "marker_info":"",         //线资源属性描述,一般用于描述纹理加载要用的信息(如锚点相关),可不设\n            "color":"0xFFff0081",     //线颜色\n            "width":20                //线宽\n        },\n        "border_texture":{            //描边线的纹理信息,可不设\n            "marker_id":"border",     //线资源id\n            "marker_info":"",         //线资源属性描述,一般用于描述纹理加载要用的信息(如锚点相关),可不设\n            "color":"0xFFf0ab01",     //线颜色\n            "width":10                //线宽\n        },\n        "texture_info":{              //纹理信息,可不设,不设置则默认使用整张图片\n            "x1":0,                   //纹理信息左上角x值,屏幕坐标系\n            "y1":0.5,                 //纹理信息左上角y值,屏幕坐标系\n            "x2":1,                   //纹理信息右下角x值,屏幕坐标系\n            "y2":0.5,                 //纹理信息右下角y值,屏幕坐标系\n            "texture_len":32          //纹理长度,仅在绘制虚线线型时设置\n        },\n        "cap_texture_info":{          //线帽纹理信息,可不设,不设置则默认使用整张图片\n            "x1":0,                   //纹理信息左上角x值,屏幕坐标系\n            "y1":0.5,                 //纹理信息左上角y值,屏幕坐标系\n            "x2":1,                   //纹理信息右下角x值,屏幕坐标系\n            "y2":0.75                 //纹理信息右下角y值,屏幕坐标系\n        }\n    }\n}

精简版示例(使用纹理为基底加上颜色绘制)

    "line_search_line_road":{\n        "line_layer_item_style":{\n            "use_cap":1,\n            "use_color":1,\n            "draw_cover":1,\n            "can_be_coveredbylabel":0,\n            "fill_texture":{\n                "marker_id":"map_lr",\n                "color":"0xff288dff",\n                "width":10\n            }\n        }\n    }






","body_lake":null,"pub_level":null,"status":"0","updated_at":"2022-04-06 07:03:48","deleted_at":null,"nameSpace":"mnlcaa/v610","browseCount":95,"collectCount":0,"estimateDate":11,"docStatus":0,"permissions":true,"overView":false}}