列車の現在地マークを表示(未完成)
This commit is contained in:
parent
e8906495c2
commit
b0b15f726c
@ -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>
|
||||
|
Loading…
Reference in New Issue
Block a user