2

ユーザー インターフェイスとして 2D マップの代わりにカメラの画像を使用する位置情報ベースのアプリケーションを構築しています。

そのビューで、描画可能な画像を描きたいです。ポイント間の距離が変化すると、イメージ ドローアブルも変化します。

すべてが正常に機能しますが、最初のものだけです。イメージを変更する必要がある場合、アプリケーションがハングします。しかし、カメラによってキャプチャされた画像は、まだ正常な方法です。

onCreateこれは、ドローアブルを初期化するための私のコードです:

arrow = (ImageView)findViewById(R.id.arah);
arrow.setVisibility(0);

res =  getResources();
lurus = res.getDrawable(R.drawable.arahlurus);
kanan = res.getDrawable(R.drawable.arahkanan);
kiri = res.getDrawable(R.drawable.arahkiri);
putar = res.getDrawable(R.drawable.arahputar);

これはメソッド onLocationChanged() での私のコードです:

arrow.setVisibility(0);
Location pointLocation = TEMP_LOCATION.get(check);
float distance = location.distanceTo(pointLocation);
int dist = (int)Math.round(distance);
//stepNext.setText("" + distance + " Meter");
//String chek = TEMP_POINT.get(check).toString();;
if (dist / 4 == 0){
    stepNext.setText("" + dist + "meter");
    Toast.makeText(ARrazerNav.this, "Jarak Dengan Checkpoint: " +dist, Toast.LENGTH_SHORT).show();
}
else if (dist < 15){
    arrow.setVisibility(0);
    //speakWords(TEMP_NAME.get(check).toString());
    check++;
}
else if (dist >= 10 && dist <= 27){
    arrow.setVisibility(1);
    if(checkOrientation == 1){
        if (TEMP_POINT.get(check) == 1){
            arrow.setImageDrawable(lurus);
        }
        else if (TEMP_POINT.get(check) == 2){
            arrow.setImageDrawable(kanan);
        }
        else if(TEMP_POINT.get(check) == 3){
            arrow.setImageDrawable(putar);
        }
        else{
            arrow.setImageDrawable(kiri);
        }
    }else{
        if (TEMP_POINT.get(check) == 1){
            arrow.setImageDrawable(kiri);
        }
        else if (TEMP_POINT.get(check) == 2){
            arrow.setImageDrawable(lurus);
        }
        else if(TEMP_POINT.get(check) == 3){
            arrow.setImageDrawable(kanan);
        }
        else{
            arrow.setImageDrawable(putar);
        }
    }
}
4

0 に答える 0