我正在使用Osmdroid库来显示离线地图,我正在使用Polyline在地图上绘制线条。但结果却不是连续的。如果街道是弯曲的,那么线就会被打破。
我的代码:
Polyline polyline = new Polyline();
ArrayList<GeoPoint> geoPoints = new ArrayList<>();
// add Gepoint to array here.
polyline.setPoints(geoPoints);
polyline.setWidth(mywidth);
polyline.setColor(mycolor);
map.getOverlayManager().add(polyline);
map.invalidate();
我该如何解决这个问题?
答案 0 :(得分:1)
尝试修改折线的Paint。
Paint有两个属性:笔触连接和笔触帽。笔画连接控制路径段的连接方式,笔画帽控制整个路径的结束方式。
鉴于可以假设此代码可以解决问题:
polyline.getPaint().setStrokeJoin(Paint.Join.ROUND)
但它不会。 Osmdroiod库显然做了一些整洁的性能优化,并没有将整个Polyline渲染为一条路径。相反,它会在不同的细分中呈现它。通过设置行程上限可以改善视觉外观。
polyline.getPaint().setStrokeCap(Cap.Join.ROUND)