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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions