Skip to main content

线

DaxiMap Android SDK 提供根据地图坐标点添加线的功能。

线#

地图上绘制的线是由 Polyline 类定义实现的,线由一组经纬度(DXLatLng对象)点连接而成

具体操作步骤如下:

创建室内的Polyline#
List<DXLatLng> latLngs = new ArrayList<DXLatLng>();
//参数1为纬度 参数2为精度
latLngs.add(new LatLng(39.999391,116.135972));
latLngs.add(new LatLng(39.898323,116.057694));
latLngs.add(new LatLng(39.900430,116.265061));
latLngs.add(new LatLng(39.955192,116.140092));
//**.png为SDK库中的大希图片名称,使用时前缀加上 "DxAppAssets://",如 "DxAppAssets://ble_active.png"
DXPolylineOptions polylineOptions = new DXPolylineOptions();
polylineOptions.addAll(latLngs);
polylineOptions.width(10);
polylineOptions.bdid("B000A11DGP");//建筑的id
polylineOptions.floorId("DX0002250110100001");//线添加在哪一层
polylineOptions.setLineColor("#ef5b9c");//线的颜色
polylineOptions.setOutlineColor("#ef5b9c");//线边框的颜色
polylineOptions.setCustomTexturePath("DxAppAssets://**.png");//线内部的图片 如一张带方向的箭头图片
polylineOptions.transparency(1.0f);//线的透明度
//加入到地图上
DXPolyline polyline = mMap.addPolyline(polylineOptions);

效果如下图

创建室外的Polyline#
List<DXLatLng> latLngs = new ArrayList<DXLatLng>();
latLngs.add(new LatLng(39.999391,116.135972));
latLngs.add(new LatLng(39.898323,116.057694));
latLngs.add(new LatLng(39.900430,116.265061));
latLngs.add(new LatLng(39.955192,116.140092));
DXPolylineOptions polylineOptions = new DXPolylineOptions();
polylineOptions.addAll(latLngs);
polylineOptions.width(10);
polylineOptions.setLineColor("#ef5b9c");
polylineOptions.setOutlineColor("#ef5b9c");
polylineOptions.transparency(1.0f);
polylineOptions.setCustomTexturePath("DxAppAssets://**.png");//线内部的图片 如一张带方向的箭头图片
//其他配置同室内添加 室外无需设置 floorId与bdid
//加入到地图上
DXPolyline polyline = mMap.addPolyline(polylineOptions);

上面的代码定义该折线的颜色为黑色,宽度为 10 像素,效果如下图

删除Polyline#

示例如下

mMap.removeFeature(polyline);