如何在谷歌地图中更改路径的颜色

时间:2014-01-30 12:02:15

标签: android google-maps

我有一个设备可以给我一个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);

有人可以帮助我。

0 个答案:

没有答案