推定位置移動を作成、デザインを調整
This commit is contained in:
@@ -152,8 +152,7 @@ export const FixedTrain: FC<props> = ({
|
||||
stopStationIDList[
|
||||
stopStationIDList.findIndex((d) => d.includes("U14")) - 1
|
||||
][0];
|
||||
}
|
||||
else if (position[0] == "+Iyo") {
|
||||
} else if (position[0] == "+Iyo") {
|
||||
position[0] =
|
||||
stopStationIDList[
|
||||
stopStationIDList.findIndex((d) => d.includes("U14")) + 1
|
||||
@@ -164,7 +163,7 @@ export const FixedTrain: FC<props> = ({
|
||||
stopStationIDList[
|
||||
stopStationIDList.findIndex((d) => d.includes("U14")) + 1
|
||||
][0];
|
||||
}else if (position[1] == "-Iyo") {
|
||||
} else if (position[1] == "-Iyo") {
|
||||
position[1] =
|
||||
stopStationIDList[
|
||||
stopStationIDList.findIndex((d) => d.includes("U14")) - 1
|
||||
@@ -178,6 +177,7 @@ export const FixedTrain: FC<props> = ({
|
||||
|
||||
const [nextStationData, setNextStationData] = useState<StationProps[]>([]);
|
||||
const [untilStationData, setUntilStationData] = useState<StationProps[]>([]);
|
||||
const [probably, setProbably] = useState(false);
|
||||
useEffect(() => {
|
||||
//棒線駅判定を入れて、棒線駅なら時間を見て分数がマイナスならcontinue;
|
||||
const points = findReversalPoints(currentPosition, stopStationIDList);
|
||||
@@ -186,18 +186,50 @@ export const FixedTrain: FC<props> = ({
|
||||
let searchCountFirst = points.findIndex((d) => d == true);
|
||||
let searchCountLast = points.findLastIndex((d) => d == true);
|
||||
console.log("searchCountBase", searchCountFirst, searchCountLast);
|
||||
|
||||
const delayTime = train?.delay == "入線" ? 0 : train?.delay;
|
||||
let additionalSkipCount = 0;
|
||||
for (
|
||||
let searchCount = searchCountFirst;
|
||||
searchCount < points.length;
|
||||
searchCount++
|
||||
) {
|
||||
console.log("searchCount", searchCount);
|
||||
console.log(points.length);
|
||||
const nextPos = trainDataWidhThrough[searchCount];
|
||||
|
||||
if (nextPos) {
|
||||
const [station, se, time] = nextPos.split(",");
|
||||
if (se.includes("通")) continue;
|
||||
else {
|
||||
|
||||
if (searchCountFirst == searchCountLast) {
|
||||
setNextStationData(getStationDataFromName(station));
|
||||
break;
|
||||
} else {
|
||||
let distanceMinute = 0;
|
||||
if (time != "") {
|
||||
const now = dayjs();
|
||||
const hour = parseInt(time.split(":")[0]);
|
||||
const distanceTime = now
|
||||
.hour(hour < 4 ? hour + 24 : hour)
|
||||
.minute(parseInt(time.split(":")[1]));
|
||||
distanceMinute = distanceTime.diff(now, "minute") + delayTime;
|
||||
if (now.hour() < 4) {
|
||||
if (hour < 4) {
|
||||
distanceMinute = distanceMinute - 1440;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (distanceMinute >= 0) {
|
||||
if (se.includes("通")) {
|
||||
continue;
|
||||
} else {
|
||||
setNextStationData(getStationDataFromName(station));
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
additionalSkipCount++;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -209,6 +241,12 @@ export const FixedTrain: FC<props> = ({
|
||||
) {
|
||||
trainList.push(trainDataWidhThrough[searchCount]);
|
||||
}
|
||||
if (additionalSkipCount > 0) {
|
||||
trainList = trainList.slice(additionalSkipCount);
|
||||
setProbably(true);
|
||||
} else {
|
||||
setProbably(false);
|
||||
}
|
||||
setUntilStationData(trainList);
|
||||
}, [currentPosition, trainDataWidhThrough]);
|
||||
const [ToData, setToData] = useState("");
|
||||
@@ -402,18 +440,36 @@ export const FixedTrain: FC<props> = ({
|
||||
alignItems: "center",
|
||||
}}
|
||||
>
|
||||
<View style={{ flexDirection: "column" }}>
|
||||
<Text
|
||||
style={{
|
||||
fontSize: 10,
|
||||
fontWeight: "bold",
|
||||
color: "white",
|
||||
marginHorizontal: 5,
|
||||
paddingVertical: 0,
|
||||
marginVertical: -1,
|
||||
}}
|
||||
>
|
||||
{nextStationData[0]?.Station_JP == train?.Pos
|
||||
? "ただいま"
|
||||
: "次は"}
|
||||
</Text>
|
||||
{probably && (
|
||||
<Text
|
||||
style={{
|
||||
fontSize: 5,
|
||||
color: "white",
|
||||
fontWeight: "bold",
|
||||
marginHorizontal: 5,
|
||||
paddingVertical: 0,
|
||||
marginVertical: -1,
|
||||
}}
|
||||
>
|
||||
(時刻推定)
|
||||
</Text>
|
||||
)}
|
||||
</View>
|
||||
<StationNumberMaker
|
||||
currentStation={nextStationData}
|
||||
singleSize={20}
|
||||
|
Reference in New Issue
Block a user