我有一个设备可以给我一个heart_rate。我在一个给出颜色的方法中计算结果。例如,如果heart_rate在20到47之间,则返回绿色等。我的意思是,如果在此期间heart_rate的值大于47,则笔触颜色将为红色。但如果该值小于47 heart_rate,则笔触颜色将为绿色。因此,例如,路径的一部分为红色,另一部分为绿色。通过我的实现,笔触颜色全部改变,并没有按照我想要的颜色分解。
我的代码:
//method that change the color of the stroke
public int mudaLinhaCor(String heart){
Double valor = Double.parseDouble(heart);
if(valor >=20 && valor <= 47){
cor = Color.GREEN;
}
else if (valor > 47 && valor <= 60){
cor = Color.GRAY;
}
else if (valor > 60 && valor <= 80){
cor = Color.YELLOW;
}
else if (valor > 80 && valor <= 100){
cor = Color.MAGENTA;
}
else if (valor > 100){
cor = Color.RED;
}
else{
cor = Color.BLACK;
}
return cor;
}
@Override
public void onMyLocationChange(Location location) {
double latitude = location.getLatitude();
double longitude = location.getLongitude();
lat = String.valueOf(latitude);
longi = String.valueOf(longitude);
posCurrent = new LatLng(latitude, longitude); // a minha posicao corrente no mapa
posAtuais.add(posCurrent);
posInicial = posAtuais.get(0);
Marker marker = map.addMarker(new MarkerOptions().position(posInicial));
map.moveCamera(CameraUpdateFactory.newLatLngZoom(posCurrent, 16));
//desenha o traco que mostra o caminho que o user ja percorreu
PolylineOptions options = new PolylineOptions().width(5).color(mudaLinhaCor(heart_rate)).geodesic(true);
for (int z = 0; z < posAtuais.size(); z++) {
LatLng point = posAtuais.get(z);
options.add(point);
}
line = map.addPolyline(options);
有人可以帮助我。