位置情報と地図フィルタリング機能の協調化
This commit is contained in:
@@ -10,15 +10,21 @@ import { stationIDPair } from "../lib/getStationList2";
|
||||
import { lineListPair } from "../lib/getStationList";
|
||||
import { SheetManager } from "react-native-actions-sheet";
|
||||
import { useTrainMenu } from "../stateBox/useTrainMenu";
|
||||
export default function TrainMenu({ stationData, style }) {
|
||||
export default function TrainMenu({ style }) {
|
||||
const { webview } = useCurrentTrain();
|
||||
const mapRef = useRef();
|
||||
const { navigate } = useNavigation();
|
||||
const [stationPin, setStationPin] = useState([]);
|
||||
const { selectedLine, setSelectedLine } = useTrainMenu();
|
||||
const {
|
||||
selectedLine,
|
||||
setSelectedLine,
|
||||
injectJavaScript,
|
||||
setInjectJavaScript,
|
||||
mapsStationData: stationData,
|
||||
} = useTrainMenu();
|
||||
useEffect(() => {
|
||||
const stationPinData = [];
|
||||
Object.keys(stationData).map((d, indexBase) =>
|
||||
Object.keys(stationData).map((d, indexBase) => {
|
||||
stationData[d].map((D, index) => {
|
||||
if (!D.StationMap) return null;
|
||||
if (selectedLine && selectedLine != d) return;
|
||||
@@ -27,9 +33,14 @@ export default function TrainMenu({ stationData, style }) {
|
||||
""
|
||||
).split(",");
|
||||
if (latlng.length == 0) return null;
|
||||
if (index == 0 && stationPin.length > 0) {
|
||||
setInjectJavaScript(
|
||||
`MoveDisplayStation('${d}_${D.MyStation}_${D.Station_JP}');`
|
||||
);
|
||||
}
|
||||
stationPinData.push({ D, d, latlng, indexBase: 0, index });
|
||||
})
|
||||
);
|
||||
});
|
||||
});
|
||||
setStationPin(stationPinData);
|
||||
}, [stationData, selectedLine]);
|
||||
useEffect(() => {
|
||||
@@ -185,7 +196,14 @@ export default function TrainMenu({ stationData, style }) {
|
||||
</UsefulBox>
|
||||
</View>
|
||||
)}
|
||||
<MapsButton onPress={() => navigate("Apps")} top={0} mapSwitch={"flex"} />
|
||||
<MapsButton
|
||||
onPress={() => {
|
||||
navigate("Apps");
|
||||
webview.current?.injectJavaScript(injectJavaScript);
|
||||
}}
|
||||
top={0}
|
||||
mapSwitch={"flex"}
|
||||
/>
|
||||
</View>
|
||||
);
|
||||
}
|
||||
|
Reference in New Issue
Block a user