add vehicles
This commit is contained in:
Generated
+1
-1
@@ -4,7 +4,7 @@
|
||||
<selectionStates>
|
||||
<SelectionState runConfigName="app">
|
||||
<option name="selectionMode" value="DROPDOWN" />
|
||||
<DropdownSelection timestamp="2026-09-02T15:28:00.985067432Z">
|
||||
<DropdownSelection timestamp="2026-09-03T13:26:15.706271055Z">
|
||||
<Target type="DEFAULT_BOOT">
|
||||
<handle>
|
||||
<DeviceId pluginId="LocalEmulator" identifier="path=/home/lukas/.config/.android/avd/Medium_Phone_OSS.avd" />
|
||||
|
||||
@@ -1,14 +1,28 @@
|
||||
package org.pupes.mhdrunpathfinder
|
||||
|
||||
import android.app.Activity
|
||||
import android.graphics.drawable.Icon
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
import android.widget.Toast
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.rotate
|
||||
import androidx.compose.ui.geometry.Offset
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.transit.realtime.GtfsRealtime
|
||||
import kotlinx.serialization.Serializable
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import ovh.plrapps.mapcompose.api.addMarker
|
||||
import ovh.plrapps.mapcompose.api.hasMarker
|
||||
import ovh.plrapps.mapcompose.api.moveMarker
|
||||
import ovh.plrapps.mapcompose.api.removeMarker
|
||||
import ovh.plrapps.mapcompose.api.visibleArea
|
||||
import java.net.URL
|
||||
|
||||
@Serializable
|
||||
@@ -93,7 +107,28 @@ private fun fetchGTFSPositions(gtfsUrl: URL, api_key: String, callee: Activity)
|
||||
|
||||
feed.entityList.forEach { entity ->
|
||||
if (entity.hasVehicle()) {
|
||||
GTFSMainHandler.post {
|
||||
|
||||
if(mapState.hasMarker(entity.vehicle.vehicle.id)) {
|
||||
mapState.moveMarker(entity.vehicle.vehicle.id, x = longitudeToXNormalized(entity.vehicle.position.longitude.toDouble()), y = latitudeToYNormalized(entity.vehicle.position.latitude.toDouble()));
|
||||
|
||||
} else {
|
||||
mapState.addMarker(
|
||||
entity.vehicle.vehicle.id,
|
||||
x = longitudeToXNormalized(entity.vehicle.position.longitude.toDouble()),
|
||||
y = latitudeToYNormalized(entity.vehicle.position.latitude.toDouble()),
|
||||
Offset(-0.5f, -0.5f)
|
||||
) {
|
||||
Icon(
|
||||
painter = painterResource(id = R.drawable.mhd_icon),
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(14.dp).rotate(entity.vehicle.position.bearing),
|
||||
tint = Color(0xFF31FF00)
|
||||
)
|
||||
// Text("${(gtfsRoutes.find {it.route_id == entity.tripUpdate.trip.routeId})?.route_short_name}")
|
||||
}
|
||||
}
|
||||
}
|
||||
// use vehicle
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="256dp"
|
||||
android:height="256dp"
|
||||
android:viewportWidth="256"
|
||||
android:viewportHeight="256">
|
||||
<path
|
||||
android:pathData="M2.98,253.02H253.02V128L128,2.98 2.98,128v125.02"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="5.95207"
|
||||
android:fillColor="#000000"
|
||||
android:strokeColor="#000000"
|
||||
android:strokeLineCap="round"/>
|
||||
</vector>
|
||||
Reference in New Issue
Block a user