Skip to content

11주 - [알레셰르] 사용자의 위치 추가, 위치 기반 모든 사용자 찾기 #8

@Alisherka7

Description

@Alisherka7

11주 - [알레셰르]

  • Add location - API를 통해 사용자의 자신 위치를 추가
  • Update location - API를 통해 사용자의 자신 위치를 수정
  • Get Nearby Users - API를 통해 설정한 거리에 있는 모든 사용자의 데이터 반환

Add Location - API 위치 설정

  1. 사용자가 현재 위치를 백엔드에게 요청하며 해당 사용자와 관련된 위치 테이블에서 데이터를 저장하는 작업을 한다.

요청 방식 -> 다음과 같은 링크에서 TOKEN을 보함하여 POST 요청

"http://222.105.43.106:3000/api/v1/setcurrentlocation"

POST BODY

{
    "namelocation": "Jeonju University", 
    "latitude": "35.81677750762284",
    "longitude": "127.08948073971273"
}

Update Location - API 위치 수정

  1. 사용자의 추가된 위치를 수정

요청 방식 -> 다음과 같은 링크에서 TOKEN을 보함하여 POST 요청

"http://222.105.43.106:3000/api/v1/updatecurrentlocation"

POST BODY

{
    "namelocation": "위치 이름 수정정", 
    "latitude": "35.81677750762284",
    "longitude": "127.08948073971273"
}

Get Nearby Users - API

  1. 사용자가 설정한 미터에 따라 거리에 있는 모든 사용자의 데이터 반환 하는 기능이다.

요청 방식 -> 다음과 같은 링크에서 TOKEN을 보함하여 POST 요청

"http://222.105.43.106:3000/api/v1/getnearbyusers"

"distance" : 110

응답

[
    {
        "userName": "1111",
        "longtitude": "127.08948073971273",
        "latitude": "35.81677750762284",
        "distance": 108.89353417176203
    },
    {
        "userName": "2222",
        "longtitude": "127.09051915782602",
        "latitude": "35.81727750606281",
        "distance": 0.0
    }
]

600M

"http://222.105.43.106:3000/api/v1/getnearbyusers"

"distance" : 600

응답

[
    {
        "userName": "1111",
        "longtitude": "127.08948073971273",
        "latitude": "35.81677750762284",
        "distance": 108.89353417176203
    },
    {
        "userName": "3333",
        "longtitude": "127.08936021425235",
        "latitude": "35.816595686529865",
        "distance": 129.1038817658121
    },
    {
        "userName": "4444",
        "longtitude": "127.09565251592483",
        "latitude": "35.81516569210478",
        "distance": 519.0225255491714
    }
]

네이버 맵으로 위치 거리 확인

다음과 같은 응답에서 2222 사용자와 -> 4444 사용자의 거리가 519미터로 나타나는 것을 볼 수 있습니다.

{
        "userName": "4444",
        "longtitude": "127.09565251592483",
        "latitude": "35.81516569210478",
        "distance": 519.0225255491714
    }

네이버 맵의 결과는 다음과 같습니다.

Screen Shot 2023-05-15 at 5 22 46 Screen Shot 2023-05-15 at 5 23 03 Screen Shot 2023-05-15 at 5 23 12

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions