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

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