车前引导线 优化渐变色效果

This commit is contained in:
lianglihui
2021-12-15 15:21:04 +08:00
parent 76cf095382
commit f6aaa15b41
4 changed files with 27 additions and 21 deletions

View File

@@ -92,7 +92,12 @@ public class SmallMapFragment extends BaseFragment implements IMogoSmallMapProvi
@Override
public void clearPolyline() {
if (mSmallMapDirectionView != null) {
mSmallMapDirectionView.clearPolyline();
UiThreadHandler.post(new Runnable() {
@Override
public void run() {
mSmallMapDirectionView.clearPolyline();
}
});
}
}

View File

@@ -102,30 +102,30 @@ public class ColorUtils {
if (step >= 3) {
int colorStep = (int) Math.floor(step/2);
// 计算每一步的差值
int aStep = (cColor[0] - sColor[0]) / colorStep;
int rStep = (cColor[1] - sColor[1]) / colorStep;
int gStep = (cColor[2] - sColor[2]) / colorStep;
int bStep = (cColor[3] - sColor[3]) / colorStep;
float aStep = (cColor[0] - sColor[0]) / colorStep;
float rStep = (cColor[1] - sColor[1]) / colorStep;
float gStep = (cColor[2] - sColor[2]) / colorStep;
float bStep = (cColor[3] - sColor[3]) / colorStep;
for (int i = 0; i < colorStep; i++) {
gradientColorArr.add(
Color.argb(aStep * i + sColor[0],
rStep * i + sColor[1],
gStep * i + sColor[2],
bStep * i + sColor[3]));
Color.argb((int)(aStep * i + sColor[0]),
(int)(rStep * i + sColor[1]),
(int)(gStep * i + sColor[2]),
(int)(bStep * i + sColor[3])));
}
int aStep_ = (eColor[0] - cColor[0]) / colorStep;
int rStep_ = (eColor[1] - cColor[1]) / colorStep;
int gStep_ = (eColor[2] - cColor[2]) / colorStep;
int bStep_ = (eColor[3] - cColor[3]) / colorStep;
float aStep_ = (eColor[0] - cColor[0]) / colorStep;
float rStep_ = (eColor[1] - cColor[1]) / colorStep;
float gStep_ = (eColor[2] - cColor[2]) / colorStep;
float bStep_ = (eColor[3] - cColor[3]) / colorStep;
for (int i = 0; i < colorStep; i++) {
gradientColorArr.add(
Color.argb(aStep_ * i + cColor[0],
rStep_ * i + cColor[1],
gStep_ * i + cColor[2],
bStep_ * i + cColor[3]));
Color.argb((int)(aStep_ * i + cColor[0]),
(int)(rStep_ * i + cColor[1]),
(int)(gStep_ * i + cColor[2]),
(int)(bStep_ * i + cColor[3])));
}
} else {

View File

@@ -56,7 +56,7 @@ public class MogoRouteOverlayManager implements IMoGoAutopilotPlanningListener,
ADASTrajectoryInfo adasTrajectoryInfo = trajectoryInfos.get(0);
double lat = MogoApisHandler.getInstance().getApis().getAdasControllerApi().getLastLat();
double lon = MogoApisHandler.getInstance().getApis().getAdasControllerApi().getLastLon();
Log.d(TAG, "size:" + trajectoryInfos.size());
Log.d(TAG, "trajectoryInfos:" + adasTrajectoryInfo.getLat()+":"+adasTrajectoryInfo.getLon());
Log.d(TAG, "location:" + lat+":"+lon);
List<MogoLatLng> mogoLatLngs = new ArrayList<>();

View File

@@ -118,16 +118,17 @@ public class RouteOverlayDrawer {
mPolylinePointList.add(latLng);
}
mPolylineColors.clear();
mPolylineColors.addAll(ColorUtils.gradientAlpha_("#FF2AAFFD", "#FF2965ED", "#002965ED", mPolylinePointList.size()));
// mPolylineColors.addAll(ColorUtils.gradientAlpha_("#FF2AAFFD", "#7b2965ED", "#002965ED", mPolylinePointList.size()));
mPolylineColors.addAll(ColorUtils.gradientAlpha("#FF2AAFFD", "#002965ED", mPolylinePointList.size()));
// 线条粗细,渐变,渐变色值
mPolylineOptions.width(12).useGradient(true).colorValues(mPolylineColors);
if (mMoGoPolyline == null || mMoGoPolyline.isDestroyed()){
mPolylineOptions.points(mPolylinePointList);
mMoGoPolyline = mogoOverlayManager.addPolyline(mPolylineOptions);
}else {
mMoGoPolyline.setPoints(mPolylinePointList);
mPolylineOptions.points(mPolylinePointList);
mMoGoPolyline.setOption(mPolylineOptions);
}
}
}
}