Osmdroid - 折线渲染不流畅
Osmdroid - Polyline is not rendered smoothly
我正在使用 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();
我该如何解决这个问题?
尝试修改折线的Paint。
Paint有两个属性:stroke join和stroke cap。笔划连接控制路径段的连接方式,笔划帽控制整个路径的结束方式。
鉴于可以假设此代码可以解决问题:
polyline.getPaint().setStrokeJoin(Paint.Join.ROUND)
但不会。 Osmdroiod 库显然进行了一些巧妙的性能优化,并且不会将整个折线呈现为一条路径。相反,它将它呈现在不同的部分。可以通过设置笔划帽来改善它的视觉外观。
polyline.getPaint().setStrokeCap(Cap.Join.ROUND)
我正在使用 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();
我该如何解决这个问题?
尝试修改折线的Paint。
Paint有两个属性:stroke join和stroke cap。笔划连接控制路径段的连接方式,笔划帽控制整个路径的结束方式。
鉴于可以假设此代码可以解决问题:
polyline.getPaint().setStrokeJoin(Paint.Join.ROUND)
但不会。 Osmdroiod 库显然进行了一些巧妙的性能优化,并且不会将整个折线呈现为一条路径。相反,它将它呈现在不同的部分。可以通过设置笔划帽来改善它的视觉外观。
polyline.getPaint().setStrokeCap(Cap.Join.ROUND)