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