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