前回までの状況はこちら。
最新ソースはこちら
https://github.com/takishita2nd/AroundHokkaido
残りの、数字を表示する部分を作成していきます。
完成までもう少しです。
必要なデータは、
全体の距離(km)と現在位置(km)
区間の距離(km)と現在位置(km)
パーセンテージは上の数字があれば計算で出せます。
全体の距離はjsonを読み込んだときに計算して保持っておくのが良いでしょう。
全体の距離はすでに覚醒済み。
区間のデータはgetPosition()で取得させるのが良いでしょう。
class StartEndPosition(startCity: String, endCity: String, position: Double, segment: Double) {
val startCityName : String = startCity
val endCityName : String = endCity
val positionDistance: Double = position
val segmentDistance: Double = segment
}
fun getPosition() : StartEndPosition {
var tempDistance = 0.0
var start : String = ""
var end : String = ""
var loop : Boolean = false
var segment: Double = 0.0
var aaa: Double = 0.0
run {
citylist.cityList.forEach{
if(loop){
end = it.city
return@run
}else{
tempDistance += it.distance
if(resultDistance < tempDistance){
start = it.city
aaa = resultDistance - (tempDistance - it.distance)
segment = it.distance
loop = true
}
}
}
}
return StartEndPosition(start, end, aaa, segment)
}
}
distanceFromStart.text = distancefromSapporoFormat.format(aroundHokkaido.getResultDistance(),
aroundHokkaido.getResultDistance() / aroundHokkaido.getTotalDistance() * 100)
distanceSection.text = distanceFormat.format(startEnd.positionDistance,
startEnd.positionDistance / startEnd.segmentDistance * 100)
とりあえず完成だけど、ぶっちゃけこのアプリ自体、そんなに面白くないなぁ。
まぁ、一通りどんな感じでコーディングするのか、それを経験するのには良かったのではないでしょうか。
これとは違うけど、別アプリも考えてみようと思います。