4
我目前正试图在地图上绘制相当程式化的路径。使用9patch绘制GoogleMap路径
方法,因为它代表
public ArrayList<Polyline> renderNeonPolyline(Context context,
ArrayList<LatLng> routeCoordinates,
GoogleMap googleMap) {
ArrayList<Polyline> polylines = new ArrayList<>();
for (int i = 0; i < 6; i++) {
PolylineOptions polylineOptions = new PolylineOptions();
polylineOptions.width(48 - (i * 8));
if (i == 0) {
polylineOptions.color(ContextCompat.getColor(context, R.color.apple_25));
} else if (i == 1) {
polylineOptions.color(ContextCompat.getColor(context, R.color.apple_50));
} else if (i == 2) {
polylineOptions.color(ContextCompat.getColor(context, R.color.apple_75));
} else if (i == 3) {
polylineOptions.color(ContextCompat.getColor(context, R.color.apple));
} else if (i == 4) {
polylineOptions.color(ContextCompat.getColor(context, R.color.white_75));
} else if (i == 5) {
polylineOptions.color(ContextCompat.getColor(context, R.color.white));
}
polylineOptions.addAll(routeCoordinates);
Polyline polyline = googleMap.addPolyline(polylineOptions);
polylines.add(polyline);
}
return polylines;
}
所以这是工作。它大部分时间都会带来霓虹效果。出于某种原因,某些情况下只有第一个apple_25行被渲染。 (我认为这与我们试图同时缩放和平移地图的事实有关,但没有研究它)。另外,结果看起来很粗糙。
我真正希望做的是用9patch图像画一条线。
任何想法?
感谢
这可以工作!我今天下午试一试。谢谢 – Kraiden
@antonio我试过了你的库,但是它根本没有绘制任何折线或多边形。是否有某种像start()或draw()方法的触发器? – portfoliobuilder
@portfoliobuilder您需要在'onCameraChange'方法(或onCameraIdle方法)上调用'richLayer.refresh();' – antonio