位置情報の路線にメニューの表示が追従するように変更

This commit is contained in:
harukin-expo-dev-env
2024-05-28 00:35:56 +00:00
parent 2b41cbb0b0
commit 9094ec331d
4 changed files with 40 additions and 4 deletions

12
Apps.js
View File

@@ -14,7 +14,7 @@ import * as Updates from "expo-updates";
import { AS } from "./storageControl";
import { news } from "./config/newsUpdate";
import { getStationList, lineList } from "./lib/getStationList";
import { getStationList, lineList, lineListPair } from "./lib/getStationList";
import { injectJavascriptData } from "./lib/webViewInjectjavascript";
import { checkDuplicateTrainData } from "./lib/checkDuplicateTrainData";
import { useFavoriteStation } from "./stateBox/useFavoriteStation";
@@ -25,6 +25,8 @@ import TrainMenu from "./components/trainMenu";
import { EachTrainInfoCore } from "./components/ActionSheetComponents/EachTrainInfoCore";
import { useNavigation } from "@react-navigation/native";
import { useTrainMenu } from "./stateBox/useTrainMenu";
import { stationNamePair } from "./lib/getStationList2";
/*
import StatusbarDetect from './StatusbarDetect';
var Status = StatusbarDetect(); */
@@ -37,6 +39,7 @@ export default function Apps({ stationData }) {
const { favoriteStation } = useFavoriteStation();
const { isLandscape, setIsLandscape } = useDeviceOrientationChange();
const handleLayout = () => {};
const { setSelectedLine } = useTrainMenu();
//画面表示関連
const [iconSetting, setIconSetting] = useState(undefined);
@@ -164,6 +167,13 @@ export default function Apps({ stationData }) {
});
return;
}
case "currentLines": {
const lineInfo = dataSet.currentLines.split("\n")[0];
const lineID = stationNamePair[lineInfo];
setSelectedLine(lineID);
return;
}
default: {
return;
}

View File

@@ -38,7 +38,7 @@ export default function TrainMenu({ stationData, style }) {
latitude: parseFloat(latlng[0]),
longitude: parseFloat(latlng[1]),
})),
{ edgePadding: { top: 100, bottom: 50, left: 50, right: 50 } } // Add margin values here
{ edgePadding: { top: 100, bottom: 100, left: 50, right: 50 } } // Add margin values here
);
}, [stationPin]);
return (
@@ -97,6 +97,16 @@ export default function TrainMenu({ stationData, style }) {
}}
onPress={() => SheetManager.show("TrainMenuLineSelector")}
>
<Text
style={{
color: "white",
fontWeight: "bold",
fontSize: 10,
textAlign: "center",
}}
>
  ここを押して路線をフィルタリングできます  
</Text>
<Text
style={{
color: "white",
@@ -107,7 +117,7 @@ export default function TrainMenu({ stationData, style }) {
>
{selectedLine
? lineListPair[stationIDPair[selectedLine]]
: "ここを押して路線をフィルタリングできます  ▲"}
: "JR四国 対象全駅"}
</Text>
</TouchableOpacity>
<Text style={{ position: "absolute", bottom: 40 }}>

View File

@@ -32,3 +32,15 @@ export const stationIDPair = {
naruto: "N",
seto: "M",
};
export const stationNamePair = {
"予讃線(高松 - 松山)": "yosan",
"予讃線・内子線(松山 - 内子 - 宇和島)": "uwajima",
"予讃線・伊予灘線(向井原 - 伊予大洲)": "uwajima2",
"土讃線(多度津 - 高知)": "dosan",
"土讃線(高知 - 窪川)": "dosan2",
"高徳線(高松 - 徳島)": "koutoku",
"徳島線(徳島 - 阿波池田)": "tokushima",
"鳴門線(池谷 - 鳴門)": "naruto",
"瀬戸大橋線(児島 - 宇多津)": "seto",
};

View File

@@ -696,7 +696,11 @@ const setStrings = () =>{
} catch (e) {}
}
const textInsert = new MutationObserver( (mutations) => setStrings());
const textInsert = new MutationObserver( (mutations) =>{
setStrings();
const currentLines = document.querySelector('#topHeader div').innerText;
window.ReactNativeWebView.postMessage(JSON.stringify({type:"currentLines",currentLines}));
});
// 監視を開始
textInsert.observe(document.getElementById('disp'), {