ReactNative NaverMap Marker 사라지는 이슈

JungHanMa·2022년 12월 6일
0

실기기에서 네이버맵으로 위경도를 받아오는데 처음로딩시에는 잘받아오다가,
다른 페이지만 갔다가오면 마커가 없어져있다...... 그래서

function Walk() {
  usePermissions();
  const [myPosition, setMyPosition] = useState<{
    latitude: number;
    longitude: number;
  } | null>();

  const getLocationUpdates = () => {
    console.log('실행횟수');
    Geolocation.watchPosition(
      info => {
        const {latitude, longitude} = info?.coords;
        const newPosition = {
          latitude,
          longitude,
        };
        console.log('실행게속되는거맞나?', newPosition);
        setMyPosition({...newPosition});
      },
      console.error,
      {
        enableHighAccuracy: true,
        distanceFilter: 0.05,
      },
    );
  };

  useEffect(() => {
    getLocationUpdates();
  }, [myPosition]);

  return (
    myPosition && (
      <NaverMapView
        style={{width: '100%', height: '100%'}}
        showsMyLocationButton={false}
        center={{
          ...myPosition,
          zoom: 16,
        }}
        useTextureView={true}
        onTouch={(e: {nativeEvent: any}) => console.warn('onTouch', JSON.stringify(e.nativeEvent))}
        onCameraChange={e => console.warn('onCameraChange', JSON.stringify(e))}
        onMapClick={e => console.warn('onMapClick', JSON.stringify(e))}>
        <Marker coordinate={{...myPosition}} />
      </NaverMapView>
    )
  );
}

export default Walk;

이렇게 코드를 작성했는데 watchPosition이 제대로 작동안하는건가하고..
검색을 엄청해봤엇다.. 알고보니 스택네비게이션안에서 맵을 사용할경우,
마커가 없어지는 버그가있었고, 해당 내용을 통해서 이슈를 해결했다.
https://github.com/QuadFlask/react-native-naver-map/issues/117

profile
Frontend Junior

0개의 댓글