列車の現在地マークを表示(未完成)

This commit is contained in:
harukin-OneMix4 2023-07-07 12:28:09 +09:00
parent e8906495c2
commit b0b15f726c

View File

@ -46,7 +46,9 @@ export const EachTrainInfo = ({
//data.trainData.Pos = "鴨川~端岡"; //test
if (!data.trainData?.Pos) return;
if (data.trainData?.Pos.match("")) {
const pos = data.trainData?.Pos.split("");
const pos = data.trainData?.Pos.replace("(下り)", "")
.replace("(上り)", "")
.split("");
setCurrentPosition([getStationData(pos[0]), getStationData(pos[1])]);
} else {
setCurrentPosition([getStationData(data.trainData?.Pos)]);
@ -75,11 +77,66 @@ export const EachTrainInfo = ({
.map((d) => d.StationNumber);
return StationNumbers[0];
});
console.log(
currentPosition.map((d) => {
return stopStationIDList.indexOf(d);
})
);
function findReversalPoints(array) {
let reversalPoints = [];
for (let i = 0; i < stopStationIDList.length; i++) {
if (array.length == 1) {
console.log(stopStationIDList[i], array[0]);
if (stopStationIDList[i] == array[0]) {
reversalPoints.push(i);
} else if (
stopStationIDList[i] > array[0] &&
stopStationIDList[i + 1] < array[0]
) {
reversalPoints.push(i + 1);
}
} else {
if (
stopStationIDList[i] == array[0] &&
stopStationIDList[i + 1] == array[1]
) {
reversalPoints.push(i + 1);
} else if (
stopStationIDList[i] == array[1] &&
stopStationIDList[i + 1] == array[0]
) {
reversalPoints.push(i + 1);
} else if (
array[0] < stopStationIDList[i] &&
stopStationIDList[i] < array[1]
) {
reversalPoints.push(i);
} else if (
array[1] < stopStationIDList[i] &&
stopStationIDList[i] < array[0]
) {
reversalPoints.push(i);
} else if (
stopStationIDList[i + 1] < array[0] &&
stopStationIDList[i + 1] < array[1] &&
stopStationIDList[i] > array[0] &&
stopStationIDList[i] > array[1]
) {
reversalPoints.push(i + 1);
} else if (
stopStationIDList[i + 1] > array[0] &&
stopStationIDList[i + 1] > array[1] &&
stopStationIDList[i] < array[0] &&
stopStationIDList[i] < array[1]
) {
reversalPoints.push(i + 1);
}
}
}
return reversalPoints;
}
// 使用例
const points = findReversalPoints(currentPosition);
console.log(currentPosition, points);
console.log(currentPosition.length, points.length);
useEffect(() => {
console.log(data);
@ -104,7 +161,9 @@ export const EachTrainInfo = ({
};
const migrateTrainName = (string) => {
return string.replace("マリン", "マリンライナー");
return string
.replace("マリン", "マリンライナー")
.replace("ライナーライナー", "ライナー");
};
return (
@ -191,7 +250,11 @@ export const EachTrainInfo = ({
textAlign: "right",
}}
>
{data.trainData?.Pos.split("")[0]}
{
data.trainData?.Pos.replace("(下り)", "")
.replace("(上り)", "")
.split("")[0]
}
</Text>
<Text style={{ color: "#0099CC", textAlign: "right" }}></Text>
<Text
@ -201,7 +264,11 @@ export const EachTrainInfo = ({
textAlign: "right",
}}
>
{data.trainData?.Pos.split("")[1]}
{
data.trainData?.Pos.replace("(下り)", "")
.replace("(上り)", "")
.split("")[1]
}
</Text>
</>
) : (
@ -378,6 +445,7 @@ export const EachTrainInfo = ({
? "にゃーん"
: "ほげ")}
{currentPosition} */}
{points.includes(index) ? "🚉" : ""}
{time} {se}
</Text>
</View>