Front End Dev IP 주소를 찾고 이를 사용하여 경도 및 위도를 찾는 방법

브르트5181

IP FAST API(IP 찾기)



먼저 IP Fast API 을 사용하여 IP 주소를 얻는 방법을 소개하고 싶었습니다. 이 링크를 클릭하고 새 탭에서 열면 API가 출력할 수 있는 모든 원시 데이터가 표시되어야 합니다. 이 API는 아래에 표시된 IP 주소를 찾는 방법입니다.

UpdateUserIP() 함수에서 메서드는 위에 표시된 API 링크인 ipLookUp을 가져온 다음 여기에서 이 명령문으로 처리할 수 있는지 확인합니다.
return fetch(this.ipLookUp)
.then(resp => {
if (resp.ok) {
return resp.json();
}
return false;
})
이 방법으로 json 데이터를 사용할 수 있는지 확인합니다. 그런 다음 나중에 논의할 GeoIP와 함께 표시하고 사용할 수 있도록 데이터를 분리할 위치로 이동합니다. 다음은 json의 특정 부분을 변수로 변환할 수 있는 곳입니다.

.then(data => {
        this.ip = data.ip;

        this.location = `${data.city} ${data.country}`;
        return data;
      });


이제 "this.ip"로 저장된 IP 주소가 있으므로 IP 주소를 UserIP로 태그 지정할 수 있습니다. 솔직히 나는 여전히 태그 프로세스를 완전히 이해하지 못하지만 그것이 Lit Dependency와 관련이 있다는 것을 알고 있습니다.

이제 제공된 IP 주소에 액세스할 수 있으므로 위도와 경도를 찾기 위해 다음 API에서 IP 주소를 사용할 수 있습니다. 이를 위해 사용한 API는 FreegeoIP 입니다. 이 API로 데이터가 어떻게 표현되는지 알고 싶다면 링크를 클릭하기만 하면 데이터 배열을 볼 수 있습니다.

GeoIP API



아래는 경도와 위도를 결정하기 위해 "Freegeoip"API에 사용할 수 있는 userIP 클래스의 새 요소를 생성할 수 있는 방법입니다.

두 API의 조합




async getGEOIPData() {
    const IPClass = new UserIP();
    const userIPData = await IPClass.updateUserIP();
    return fetch(this.locationEndpoint + userIPData.ip)
      .then(resp => {
        if (resp.ok) {
          return resp.json();
        }
        return false;
      })
      .then(data => {
        console.log(data);
        this.lat = data.latitude;
        this.long = data.longitude;
        this.city = data.city;
        this.state = data.region_name;
        return data;
      });
  }


위의 방법에서 볼 수 있듯이 "FreeGeoIP"API인 위치 엔드포인트와 "IP fast"API에서 가져온 사용자 IP를 가져옵니다. 프로세스는 JSON의 유효성을 다시 검사한 다음 데이터(위도, 경도, 도시 및 region_name)를 자체 변수로 가져올 수 있습니다.

프로젝트에 대한 Github 링크



다음은 그룹 프로젝트에 대한 링크입니다. IST402 Git Project 제가 논의한 코드/주제는 "UserIP.js"(IP Fast API) 및 "LocationFromIP.js"(무료 Geo IP 및 둘의 조합)
프로젝트 실행에 관심이 있다면 이 GitHub 프로젝트를 실행하는 데 필요한 도구를 보여주는 "프론트 엔드 소개"블로그를 살펴보세요.

좋은 웹페이지 즐겨찾기