dabeeomaps_api_directions
v1.12.5
Published
navigation server for editor 4.0
Downloads
386
Readme
dabeeomaps_library_navigation_4
navigation module for studio4
description
- typescript로 개발
- dist: npm publish 에서 사용하는 폴더
- build: node server용 폴더
- make: npm publish 전용 빌드
get started
- npm run dev : 개발 모드
- npm run dist : npm 에 배포하기 위한 준비. (release시 실행됨)
npm publish
https://www.npmjs.com/package/dabeeomaps_api4_directions_4
Version History
- 1.0.2 : npm publish
- 1.0.3
- @2024.03.18
- object내부에 노드 있는 경우 이슈 처리
- CR
- 1.0.4
- @2024.03.25
- studio3, 4 네비게이션 길찾기 모듈 통합
- CR
- 1.0.5
- @2024.03.28
- 통합지도에서 인도어 <-> 아웃도어 길찾기시 잘못된 경로로 길찾기 되는 이슈 수정
- CR
- 1.1.1
- @2024.04.02
- 목적지 사선으로 연결되는 이슈 수정
- CR
- 1.1.2
- @2024.04.03
- 목적지 사선으로 연결되는 이슈 수정할 때, transcode null 처리 추가
- 1.1.3
- @2024.04.03
- ELEVATOR_UP, ELEVATOR_DOWN transcode type 추가
- 길찾기 실패원인 반환
- CR
- 1.1.4
- @2024.04.05
- 연결링크가 connect node간의 연결링크 혹은 entrance node간의 연결링크면 그 다음으로 가까운 링크를 선택
- CR
- 1.2.1
- 1.2.2
- @2024.04.11
- 출도착지 Object에 Opening Node가 여러개 있을 시 길찾기 최적의 Opening을 선택하여 길찾기
- CR
- 1.3.1
- @2024.05.09
- 출도착지 둘중 하나만 multiOpening일 경우 길찾기 안되는 이슈 수정
- CR
- 1.4.1
- @2024.05.16
- 길찾기 POI 기준 경로 안내 기능 개발
- CR
- 1.5.1
- 1.6.1
- @2024.05.29
- 2층에 목적지가 있으나 1층까지만 구간안내 하는 경우 이슈 수정
- 엘리베이터 이동경로와 추천 이동경로가 다르게 나오는 현상 수정
- CR
- 1.6.2
- @2024.05.31
- mapData.getCategoryDistance 카테고리의 POI를 가져올 때 시간이 오래 걸림
- CR
- 1.7.1
- @2024.06.11
- opening 가상 노드 생성 로직이 3.0에는 사용하지 않도록 처리
- 가상노드를 생성시 가상노드가 들어가기 이전번째 좌표와 이후번째 좌표가 가상노드 좌표와 같지 않을 때만 가상노드를 생성하도록 수정
- CR
- 1.8.1
- 1.8.2
- @2024.08.26
- studio3.0에서 object와 연결된 최적의 출도착지 노드를 찾지 못하는 이슈 수정
- CR
- 1.9.1, 1.9.2
- @2024.09.12
- 선호 이동수단 시나리오 추가: 선호 이동수단으로 이동할 수 있으면 그 이동수단으로 이동하고 없으면 가장 가까운 이동수단으로 이동
- CR
- 1.10.1
- @2024.09.27
- 가까운 거리의 길찾기시 기준이 되는 출도착지 노드가 같아 길찾기가 되지 않는 이슈 수정
- 출도착지가 완전히 같은 위치에서의 길찾기시 길찾기를 진행하지 않도록 수정
- CR
- 1.10.2
- 1.11.1
- @2024.10.14
- 선호 이동수단간의 이동 가중치 로직에서 다른층과 연결된 path만 가중치 적용하도록 수정
- 엘리베이터로 층 이동시 층간 가중치 추가
- CR
- 1.11.2, 1.11.3
- @2024.10.15
- 가장 가까운 연결링크가 connect나 entrance간의 연결링크면 길찾기가 안되는 이슈 수정
- CR
- 1.12.1
- @2024.10.18
- dikstra graph 생성할 때 graph에 포함할 연결링크의 유효성 체크 로직 수정
- CR
- 1.12.2, 1.12.3, 1.12.4
- @2024.10.21
- transcode simplify 하도록 로직 수정
- CR
- 1.12.5
- @2024.10.23
- buildGraph에서 floor offset 계산시 floorOrder 값 null 혹은 undefined 처리
- CR
DijkstraRequest
- 내비게이션 생성 객체
- 생성자
let req = new navigation.NavigationRequest(mapInfo, ComputingType.RECOMMENDATION);
- 인자 설명
- mapInfo : 지도 조회 api 를 통해 얻은 정보 전체
- computingType : RECOMMENDATION(추천경로), SAFETY (안전경로 - 엘리베이터만 이용한 경로)
DijkstraNavigationManager
- 다익스트라 내비게이션 매니저 생성
let navi = new navigation.DijkstraNavigationManager(req);
- 출발, 경유지, 목적지 생성
locations = {
computingTypeList: ['RECOMMENDATION'],
locations: [
{
poiId: 'PO-4JvSQCWHC2270', // 남자화장실 (11층)
floorId: 'FL-t4vqgyek3jnb8146',
},
{
poiId: 'PO-NMvw3E0pe1690', // 플랫폼사업부 회의실 (11층)
floorId: 'FL-t4vqgyek3jnb8146',
},
{
poiId: 'PO-WgCv1-qBo8094', // 사업전략부 (11층)
floorId: 'FL-t4vqgyek3jnb8146',
},
{
poiId: 'PO-M02DvTVjp8449', // 회의실1 (11층)
floorId: 'FL-t4vqgyek3jnb8146',
},
],
},
```
- 내비게이션에 경로를 뽑을 목적지들을 전달하여 경로 추출
```javascript
let routes = [destination1, origin, destination, destination3, destination2];
let response = navi.getPath(routes);
응답 정의
- locations : 예상 경로 위치 배열
- position : 위치 좌표
- floorId : 층 아이디
- nodeId : 노드 아이디
- poiId : Poi 아이디
- objectId : Object 아이디
- destination : 경유지 여부 (출발/도착 포함)
- distance : 이전 노드부터 현재 노드까지 거리 (cm)
- idx: 인덱스
- transCode: 이동수단 코드 (실제로 타층과 연결된 경우에만 표시)
- OB-ELEVATOR : 엘리베이터
- OB-ESCALATOR : 에스컬레이터 양방향
- OB-ELEVATOR_UP : 엘리베이터 상행
- OB-ELEVATOR_DOWN : 엘리베이터 하행
- OB-ESCALATOR_UP : 에스컬레이터 상행
- OB-ESCALATOR_DOWN : 에스컬레이터 하행
- OB-STAIRS : 계단
- angle: 현재 노드에서 다음 노드까지의 각도
- distance: 현재 노드에서 다음 노드까지의 거리
- opening: 출도착지에서 사용하는 opening
- direction : 현재 노드에서 다음 노드까지의 방향
- LEFT : 좌회전
- RIGHT : 우회전
- STRAIGHT : 직진
- pathInfo : 경로 안내 정보 (with simplify)
- totalDistance : 예상 총 이동거리 (cm)
- totalTime : 예상 이동 시간 (milliseconds)
- origin : 출발지 위치 정보
- finalDestination : 최종 목적지 위치 정보
- wayPoints : 경유지들 위치 정보