Skip to content
Snippets Groups Projects
Search.js 2.18 KiB
Newer Older
LEE's avatar
LEE committed
import { Map, MapMarker } from "react-kakao-maps-sdk";
import React, { useState, useEffect, useContext } from 'react';
import {Routes, Route, Link, useNavigate, Navigate  } from 'react-router-dom';
Hyun Woo Jeong's avatar
Hyun Woo Jeong committed
import SearchMap from '../components/SearchMapByKeyword.js'
import { UserContext } from '../Context.js';
LEE's avatar
LEE committed
const {kakao} = window;

//카카오 지도 API를 이용한 검색(예정)
Hyun Woo Jeong's avatar
Hyun Woo Jeong committed
/*
LEE's avatar
LEE committed
function SearchMap(props){
    // 아주대학교를 기본 위치로 설정
    const [state, setState] = useState({
        center: { lat: 37.28238488648025, lng: 127.04350967609274 },
        isPanto: true,
    });
LEE's avatar
LEE committed
    const [searchAddress, SetSearchAddress] = useState(); //주소 입력
LEE's avatar
LEE committed

    const handleInput = (e) => {
LEE's avatar
LEE committed
        SetSearchAddress(e.target.value);
    }

LEE's avatar
LEE committed
    const SearchStart = () => {
LEE's avatar
LEE committed
        console.log('Start Search!');// action test
        // 주소를 기반으로 한 검색 구현(제주특별자치도 제주시 첨단로 242 를 입력하면 kakao가 나온다)
        const geocoder = new kakao.maps.services.Geocoder();
        let callback = function(result, status) {
            if (status === kakao.maps.services.Status.OK) {
            const newSearch = result[0]
            setState({
                center: { lat: newSearch.y, lng: newSearch.x }
            })
            }
        };
        geocoder.addressSearch(`${searchAddress}`, callback);
LEE's avatar
LEE committed
    }

LEE's avatar
LEE committed
}
LEE's avatar
LEE committed

function Search(props) {

    const userContext = useContext(UserContext);
	const navigate = useNavigate();
	function MoveTo(link){
		navigate(link)
	}	
Hyun Woo Jeong's avatar
Hyun Woo Jeong committed

    const [location, setLocation] = useState({
        keyword: "",
        center: { lat: null, lng: null }
    });

    useEffect(() => {
        const session = userContext.CheckSession()
        .then((response) => {
            if (!response.data) {
                alert("세션이 만료되었습니다. 다시 로그인 바랍니다.")
                MoveTo('/login')
             }
		})
		.catch((response)=>{
			console.log("error!:LogOut")
			console.log(response)
		})
      });

LEE's avatar
LEE committed
    return (
		<div className="search">
			<h1>검색페이지입니다.</h1>
Hyun Woo Jeong's avatar
Hyun Woo Jeong committed
            <SearchMap loc={location} setLoc={setLocation}></SearchMap>  
LEE's avatar
LEE committed
		</div>
    );
}

LEE's avatar
LEE committed
export default Search;