Как я могу показать пользователям текущее местоположение в режиме просмотра карты с указанием местоположения Expo? Реагируйте на Родной язык

#javascript #react-native #expo #react-native-maps #google-maps-react

Вопрос:

У меня есть представление карты, и я хочу центрировать свою карту на текущем местоположении пользователя, когда откроется экран карты. Следуя документации expo, это должно быть достигнуто с помощью API определения местоположения Expo. Однако документация неясна. Я взял часть кода из документации по местоположению выставки. Итак, как я должен интегрировать его в MapView, чтобы выполнить метод getCurrentPositionAsync и соответствующим образом центрировать карту? Спасибо за помощь

 import React, { useContext, useState, useEffect } from "react"; import MapView from "react-native-maps"; import styled from "styled-components"; import { Searchbar } from "react-native-paper"; import { View } from "react-native";  import * as Location from 'expo-location';  const Map = styled(MapView)` height: 100%; width: 100%; `;  const SearchBarContainer= styled(View)` padding: ${(props) =gt; props.theme.space[3]}; position: absolute; z-index: 999; top: 20px; width: 100%; `;  export const MapScreen = ({navigation}) =gt; {   const [location, setLocation] = useState(null);  const [errorMsg, setErrorMsg] = useState(null);   useEffect(() =gt; {  (async () =gt; {  let { status } = await Location.requestForegroundPermissionsAsync();  if (status !== 'granted') {  setErrorMsg('Permission to access location was denied');  return;  }   let location = await Location.getCurrentPositionAsync({});  setLocation(location);  })();  }, []);   return (  lt;gt;   lt;SearchBarContainergt;  lt;Searchbar placeholder="location"/gt;  lt;/SearchBarContainergt;  lt;Map showsUserLocation={true}gt;    lt;/Mapgt;  lt;/gt;  );};