Route Map
Route Map 위젯은 선택한 기간 동안 엔티티가 지나간 경로 전체를 시각화합니다. 지도에 고정된 선으로 표시한 과거 경로(차량 운행, 배송 경로, 자산 이동)를 검토할 때 씁니다. 필요하면 타임라인 제어 패널을 켜서 경로를 대화형으로 재생할 수 있습니다.
주요 기능
섹션 제목: “주요 기능”Route Map은 MX On Cloud의 지도 위젯 네 가지 중 하나이며, 위젯마다 쓰임새가 다릅니다:
| 위젯 | 주요 용도 |
|---|---|
| Map | 현재 엔티티 위치를 실시간으로 표시합니다. |
| Image Map | 사용자 지정 배경 이미지를 씁니다. 평면도, 주차장, 실내 배치도에 알맞습니다. |
| Trip Map | 타임라인 제어를 모두 갖춘 경로 애니메이션 재생. 움직임을 단계별로 분석할 때 알맞습니다. |
| Route Map | 과거 경로 전체를 고정된 경로 선으로 그립니다. 전체 이동을 한눈에 검토할 때 알맞습니다. |
Route Map만의 특징:
- 최신 값만이 아니라 시계열 위도/경도 데이터로 경로를 그립니다.
- 버스 노선이나 배관 같은 고정 시설 경로를 표시하는 Polylines 오버레이를 지원합니다.
- 타임라인 제어 패널을 쓸 수 있지만 기본으로 꺼져 있습니다. 대화형 재생이 필요할 때 켭니다.
- 이동 경로, 마커, 다각형, 원, Polylines 오버레이를 한 지도에 함께 표시할 수 있습니다.
위젯 추가
섹션 제목: “위젯 추가”- 대시보드를 열고 수정 모드로 바꿉니다.
- 위쪽의 위젯 추가를 클릭하거나, 화면 가운데의 위젯 추가 아이콘을 클릭합니다.
- Maps 위젯 번들을 엽니다.
- Route Map을 선택합니다.
- 위젯 설정을 마친 다음 추가를 클릭합니다.
시간 창
섹션 제목: “시간 창”시간 창은 경로 데이터를 불러와 표시할 기간을 정합니다.
-
대시보드 시간 창 사용: 위젯이 대시보드에 설정한 전체 시간 범위를 따릅니다. 대시보드 시간 범위가 바뀌면 이 모드를 쓰는 위젯이 모두 함께 바뀝니다.
-
위젯 시간창 사용: 위젯이 자체 시간 범위를 따로 씁니다. 모드를 고릅니다:
- 실시간 — 시간이 지나면서 창이 앞으로 움직여 늘 가장 최근 구간(예: “과거 1일”)을 보여 줍니다. Route Map의 기본값입니다.
- 기록 — 시작과 끝이 정해진 고정 범위. 특정 과거 이동을 살펴볼 때 씁니다.
-
시간 창 표시: 위젯 카드의 시간 구간 라벨을 켜고 끕니다.
시간 창 설정에 대한 자세한 내용은 시간 창을 참고하세요.
지도 유형
섹션 제목: “지도 유형”지도(타일 기반)와 이미지(사용자 지정 배경) 중에서 고릅니다.
일반 타일 지도에 경로를 그립니다. 레이어를 하나 이상 설정합니다:
- 라벨: 위젯의 레이어 전환기에 표시되는 이름.
- 공급자: OpenStreet, Google, HERE, Tencent, 사용자 지정(타일 서버 URL 입력).
- 레이어: 타일 스타일 — Mapnik, HOT, WorldStreetMap, WorldTopoMap, WorldImagery, Roadmap 등. 쓸 수 있는 옵션은 공급자마다 다릅니다.
- 참조 레이어: 라벨이 붙은 지도 요소(도로, 경계)를 담은 투명 오버레이. 레이어의 톱니바퀴 아이콘 메뉴에서 설정합니다.
전환할 수 있는 레이어를 더 설정하려면 레이어 추가를 클릭합니다. 사용자는 위젯의 레이어 아이콘 버튼으로 레이어를 바꿉니다.
고정 이미지를 지도 배경으로 씁니다(예: 평면도, 사용자 지정 현장 배치도):
- 이미지 소스: 갤러리에서 올리거나 URL을 입력합니다.
- 엔터티 키: 이미지를 엔티티 속성 키에 연결합니다. 엔티티마다 배경 이미지가 다를 때 유용합니다.
오버레이
섹션 제목: “오버레이”오버레이는 지도에 그려지는 시각 요소입니다. 오버레이 유형마다 자체 데이터 소스에 연결되고 따로 설정합니다.
이동 경로 오버레이는 시계열 위도/경도 데이터로 엔티티가 지나간 길을 이어진 선으로 그립니다. 경로의 가장 최근 위치에 마커가 그려집니다.
이동 경로 추가하기: 이동 경로 추가를 클릭하고 데이터 소스를 선택한 다음 좌표 키를 정하고 저장을 클릭합니다.
데이터 소스
시계열 좌표를 보내는 엔티티를 선택합니다: 기능, 장치, 개체(엔티티 별칭). 필터를 적용해 범위를 좁힙니다. 데이터 소스를 더 추가하려면 추가 데이터 소스 더 보기를 펼칩니다.
키
- 위도 키: 위도 값이 담긴 시계열 키(기본값:
latitude). - 경도 키: 경도 값이 담긴 시계열 키(기본값:
longitude). - 추가 데이터 키: 라벨과 툴팁 함수에서 쓸 추가 텔레메트리 키(예:
speed,status).
모양 — 마커
경로 위 엔티티 위치에 표시되는 아이콘. 표시 모드 세 가지:
- 도형: 기본 제공 도형을 고르고 크기(px)와 색상을 정합니다. 텔레메트리 값에 따라 마커 색을 동적으로 바꾸려면 색상 함수(JavaScript)를 씁니다.
- 아이콘: 기본 제공 아이콘을 고르고 크기와 색상을 정합니다.
- 이미지: 이미지 URL을 넣거나
{ url, size, offset }을 돌려주는 마커 이미지 함수를 씁니다. 사용자 지정 마커 이미지 크기를 정합니다.
마커 오프셋 — 기준점 위치를 미세 조정합니다(가로, 세로, 0–1 범위).
마커 회전 — 이동 방향에 맞게 마커 아이콘을 돌립니다. 기본 방향을 조정하려면 오프셋 각도(도)를 정합니다.
모양 — 라벨
마커 위에 표시되는 글:
- 패턴(기본값):
${entityName},${entityLabel}같은 템플릿 변수나 데이터 키를 씁니다. - 함수: 데이터 값에 따라 HTML 문자열을 돌려줍니다.
모양 — 툴팁
마커를 조작하면 나타나는 팝업:
- 패턴 / 함수: 내용을 템플릿이나 JavaScript 함수로 정합니다.
- 툴팁 트리거: 클릭 시 툴팁 표시 또는 호버 시 툴팁 표시.
- 툴팁 자동 닫기: 지도의 다른 곳을 클릭하면 닫습니다.
- 태그 동작:
<link-act name='action-name'>Label</link-act>로 툴팁 안에 이름이 있는 동작 링크를 추가합니다. 링크를 클릭하면 설정한 위젯 동작이 실행됩니다.
동작
클릭 시 — 마커를 클릭하면 실행되는 동작. 쓸 수 있는 유형: 동작 안 함, 새로운 대시보드 상태 탐색, 현재 대시보드 상태 업데이트, 다른 대시보드 탐색, Custom action, Custom action (with HTML template), 모바일 액션, URL 열기.
위치 변환 (이미지 지도 유형 전용)
이미지에 그리기 전에 마커의 원래 상대 x/y 좌표를 바꾸는 JavaScript 함수. 여러 엔티티의 마커가 같은 위치에 겹쳐 떨어뜨려야 할 때나, 좌표를 사용자 지정 이미지 축척에 맞게 다시 매핑해야 할 때 유용합니다.
함수 시그니처: f(origXPos, origYPos, data, dsData, aspect)
매개변수:
origXPos: number— 원래 상대 x 좌표(0~1).origYPos: number— 원래 상대 y 좌표(0~1).data— 이 이동 경로 점의 엔티티 데이터: 설정한 데이터 소스의 엔티티 속성과 텔레메트리.dsData— 추가 데이터 소스를 포함한 모든 데이터 레이어의 전체 데이터.aspect: number— 이미지 지도의 종횡비(너비 / 높이).
{ x: number, y: number }를 돌려줘야 합니다. 각각 0~1 범위의 새 상대 좌표입니다.
기본값(그대로 통과):
return {x: origXPos, y: origYPos};예시 — 위치가 같은 마커를 찾아 겹침이 가장 적게 배치합니다:
var xPos = data.xPos;var yPos = data.yPos;var locationGroup = dsData.filter((item) => item.xPos === xPos && item.yPos === yPos);if (locationGroup.length > 1) { const count = locationGroup.length; const index = locationGroup.indexOf(data); const radius = 0.035; const angle = (360 / count) * index - 45; const x = xPos + radius * Math.sin(angle * Math.PI / 180) / aspect; const y = yPos + radius * Math.cos(angle * Math.PI / 180); return {x: x, y: y};} else { return {x: xPos, y: yPos};}경로
- 경로: 켜면 경로 선을 표시합니다. 선 두께(px)와 색상을 정합니다.
- 경로 데코레이터: 경로를 따라 그려지는 방향 기호:
- 데코레이터 기호: 화살표 또는 대시.
- 기호의 크기와 색상.
- 데코레이터 배치: 시작 오프셋, 끝 오프셋, 반복 간격(모두 px).
- 점: 기록된 데이터 점마다 찍히는 점 마커. 크기(px)와 색상을 정합니다.
- 점 툴팁: 기록된 점마다 나타나는 팝업. 패턴이나 함수, 툴팁 트리거, 자동 닫기, 태그 동작을 설정합니다.
그룹
그룹 이름을 지정합니다. 그룹은 위젯의 그룹 패널에 나타나며, 그룹 전체를 한 번에 표시하거나 숨길 수 있습니다.
마커 오버레이는 엔티티 위치(차량, 센서, HMI 장치 등 위치가 있는 자산)를 나타내는 점 아이콘을 지도에 놓습니다. 위치는 속성이나 텔레메트리에서 읽습니다.
마커 추가하기: 마커 추가를 클릭하고 데이터 소스를 선택한 다음 좌표 키를 정하고 저장을 클릭합니다.
데이터 소스
기능, 장치, 개체(별칭). 필터를 적용해 범위를 좁힙니다.
키
- 위도 키: 위도가 담긴 속성이나 텔레메트리 키(기본값:
latitude). - 경도 키: 경도가 담긴 속성이나 텔레메트리 키(기본값:
longitude). - 추가 데이터 키: 라벨, 툴팁, 색상 함수에 쓸 추가 키.
모양 — 마커
표시 모드 세 가지:
- 도형: 기본 제공 도형. 크기와 색상을 정합니다. 색상 함수를 지원합니다.
- 아이콘: 기본 제공 아이콘. 크기와 색상을 정합니다.
- 이미지: 이미지 URL 또는
{ url, size, offset }을 돌려주는 마커 이미지 함수.
마커 오프셋 — 기준점을 미세 조정합니다(가로, 세로).
모양 — 라벨
마커 위의 글. 패턴(예: ${entityName}) 또는 함수. 여러 줄 내용이면 Tip을 켭니다.
모양 — 툴팁
클릭하거나 마우스를 올리면 나타나는 팝업. 패턴 또는 함수. 다음을 설정합니다:
- 툴팁 트리거: 클릭 시 또는 호버 시.
- 툴팁 자동 닫기.
- 툴팁 오프셋: 가로·세로 위치 조정.
- 태그 동작: 툴팁 안의 이름 있는 동작 링크.
동작
클릭 시 동작. 유형: 동작 안 함, 새로운 대시보드 상태 탐색, 현재 대시보드 상태 업데이트, 다른 대시보드 탐색, Custom action, Custom action (with HTML template), 모바일 액션, URL 열기.
위치 변환 (이미지 지도 유형 전용)
이미지에 그리기 전에 마커의 원래 상대 x/y 좌표를 바꾸는 JavaScript 함수. 마커가 같은 위치에 겹쳐 떨어뜨려야 할 때나, 좌표를 사용자 지정 이미지 축척에 맞게 다시 매핑해야 할 때 유용합니다.
함수 시그니처: f(origXPos, origYPos, data, dsData, aspect)
매개변수:
origXPos: number— 원래 상대 x 좌표(0~1).origYPos: number— 원래 상대 y 좌표(0~1).data— 이 마커의 엔티티 데이터: 설정한 데이터 소스의 엔티티 속성과 텔레메트리.dsData— 추가 데이터 소스를 포함한 모든 데이터 레이어의 전체 데이터.aspect: number— 이미지 지도의 종횡비(너비 / 높이).
{ x: number, y: number }를 돌려줘야 합니다. 각각 0~1 범위의 새 상대 좌표입니다.
기본값(그대로 통과):
return {x: origXPos, y: origYPos};예시 — 겹친 마커를 원 모양으로 퍼뜨립니다:
var xPos = data.xPos;var yPos = data.yPos;var locationGroup = dsData.filter((item) => item.xPos === xPos && item.yPos === yPos);if (locationGroup.length > 1) { const count = locationGroup.length; const index = locationGroup.indexOf(data); const radius = 0.035; const angle = (360 / count) * index - 45; const x = xPos + radius * Math.sin(angle * Math.PI / 180) / aspect; const y = yPos + radius * Math.cos(angle * Math.PI / 180); return {x: x, y: y};} else { return {x: xPos, y: yPos};}그룹
가시성을 켜고 끌 수 있도록 그룹 이름을 지정합니다.
마커 편집
위젯에서 대화형 배치·조작 도구를 켭니다:
- 편집 도구: 추가, 이동, 제거 도구를 켭니다.
- 위치 저장 속성 범위: 서버 또는 공유. 좌표를 저장할 곳을 정합니다.
- 정밀한 그리기를 위해 다른 꼭짓점에 스냅 사용: 새 점을 가까운 꼭짓점에 붙입니다.
지도 마커 클러스터링 사용
낮은 확대 수준에서 가까운 마커를 클러스터 아이콘 하나로 묶습니다. 클러스터 아이콘에는 안에 든 항목 수가 표시됩니다. 마커가 많을 때 읽기 쉬워집니다.
다각형은 지도의 영역이나 구역(작업 구역, 지오펜스, 제한 구역 등)을 정합니다. 다각형 좌표는 엔티티의 속성으로 저장합니다.
좌표 형식:
[[lat1,lng1],[lat2,lng2],...,[latN,lngN]]다각형 추가하기: 다각형 추가를 클릭하고 데이터 소스를 선택한 다음 다각형 키를 정하고 저장을 클릭합니다.
데이터 소스
기능, 장치, 개체(별칭). 필요하면 필터를 적용합니다.
키
- 다각형 키: 좌표 배열이 담긴 속성 키(기본값:
perimeter). - 추가 데이터 키: 라벨, 툴팁, 함수에 쓸 추가 키.
모양 — 채우기
다각형 안쪽을 그리는 방식:
- 색상: 단색 채우기.
- 줄무늬: 대각선 빗금 무늬. 구역이나 제한 구역을 나타낼 때 유용합니다.
- 이미지: 사용자 지정 이미지 채우기.
모양 — 선
테두리 선. 두께(px)와 색상을 정합니다.
모양 — 라벨
다각형 가운데에 표시되는 글. 패턴 또는 함수.
모양 — 툴팁
클릭하거나 마우스를 올리면 나타나는 팝업. 패턴 또는 함수. 트리거, 자동 닫기, 태그 동작을 설정합니다.
동작
클릭 시 동작. 마커와 같은 동작 유형을 씁니다.
그룹
가시성을 켜고 끌 수 있도록 그룹 이름을 지정합니다.
다각형 편집
상호작용 도구:
- 편집 도구: 추가, 편집(꼭짓점 크기 조정), 이동, 제거 도구를 켭니다.
- 위치 저장 속성 범위: 좌표를 저장할 속성 범위(서버 또는 공유).
- 정밀한 그리기를 위해 다른 꼭짓점에 스냅 사용.
원은 중심 좌표와 반지름으로 둥근 영역을 정합니다. 신호 범위, 감지 범위, 영향 구역을 나타낼 때 유용합니다.
좌표 형식:
{"latitude": value, "longitude": value, "radius": value}원 추가하기: 원 추가를 클릭하고 데이터 소스를 선택한 다음 원 키를 정하고 저장을 클릭합니다.
데이터 소스
기능, 장치, 개체(별칭). 필요하면 필터를 적용합니다.
키
- 원 키: 중심과 반지름 데이터가 담긴 속성 키(기본값:
perimeter). - 추가 데이터 키: 라벨, 툴팁, 함수에 쓸 추가 키.
모양 — 채우기
색상, 줄무늬, 이미지 — 다각형과 같은 옵션입니다.
모양 — 선
테두리 선 두께와 색상.
모양 — 라벨
원 가운데에 표시되는 글. 패턴 또는 함수.
모양 — 툴팁
클릭하거나 마우스를 올리면 나타나는 팝업. 패턴 또는 함수. 트리거, 자동 닫기, 태그 동작을 설정합니다.
동작
클릭 시 동작. 마커와 같은 동작 유형을 씁니다.
그룹
가시성을 켜고 끌 수 있도록 그룹 이름을 지정합니다.
원 편집
상호작용 도구:
- 편집 도구: 추가, 편집(반지름 크기 조정), 이동, 제거 도구를 켭니다.
- 위치 저장 속성 범위: 서버 또는 공유.
- 정밀한 그리기를 위해 다른 꼭짓점에 스냅 사용.
Polylines는 속성 좌표 배열로 저장한 고정 경로를 표시합니다(예: 정류장이 있는 고정 버스 노선, 지하철 노선, 배관). 시계열 데이터로 경로를 그리는 이동 경로와 달리, Polylines는 엔티티 속성으로 고정된 모양을 그립니다.
좌표 형식:
[[lat1,lng1],[lat2,lng2],...,[latN,lngN]]Polyline 추가하기: Add polyline을 클릭하고 데이터 소스를 선택한 다음 Polyline 키를 정하고 저장을 클릭합니다.
데이터 소스
기능, 장치, 개체(별칭). 필요하면 필터를 적용합니다.
키
- Polyline key: 좌표 배열이 담긴 속성 키(기본값:
perimeter). - 추가 데이터 키: 라벨이나 툴팁에 쓸 추가 키.
모양 — 선
선 두께(px)와 색상.
모양 — 라벨
폴리라인을 따라 표시되는 글. 패턴 또는 함수.
모양 — 툴팁
클릭하거나 마우스를 올리면 나타나는 팝업. 패턴 또는 함수. 다음을 설정합니다:
- 툴팁 트리거: 클릭 시 또는 호버 시.
- 툴팁 자동 닫기.
- 태그 동작: 툴팁 안의 이름 있는 동작 링크.
동작
클릭 시 동작. 유형: 동작 안 함, 새로운 대시보드 상태 탐색, 현재 대시보드 상태 업데이트, 다른 대시보드 탐색, Custom action, Custom action (with HTML template), 모바일 액션, URL 열기.
그룹
가시성을 켜고 끌 수 있도록 그룹 이름을 지정합니다.
Edit polyline
상호작용 도구:
- 편집 도구: 추가, 편집, 이동, 제거 도구를 켭니다.
- 위치 저장 속성 범위: 좌표를 저장할 속성 범위(서버 또는 공유).
- 정밀한 그리기를 위해 다른 꼭짓점에 스냅 사용.
추가 데이터 소스
섹션 제목: “추가 데이터 소스”추가 데이터 소스는 지도에 직접 표시하지 않는 엔티티의 텔레메트리나 속성을 제공합니다. 오버레이 함수의 조건 로직에 씁니다(예: 관련 HMI 장치 데이터에 따라 색이 바뀌는 마커, 정보를 더한 툴팁, 계산한 표시 값).
- 소스: 엔티티 유형 — 기능, 장치, 개체 별명.
- 데이터 키: 엔티티에서 읽을 텔레메트리나 속성 키.
더 설정하려면 데이터 소스 추가를 클릭합니다.
지도 컨트롤
섹션 제목: “지도 컨트롤”위젯에서 쓸 대화형 컨트롤을 설정합니다.
위치 — 컨트롤 패널의 위치: 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래.
줌 동작 — 확대/축소 방법을 켭니다:
- 스크롤: 마우스 휠로 확대/축소.
- 더블 클릭: 두 번 클릭하면 확대.
- 컨트롤 버튼: 지도에 + / − 확대/축소 버튼을 표시합니다.
축척 — 거리 축척 막대를 표시합니다: 미터법(km / m) 또는 야드파운드법(mi / ft).
타임라인 제어 패널 — 기본으로 꺼져 있습니다. 켜면 경로를 단계별로 살펴보는 대화형 재생 컨트롤을 추가합니다:
- 시간 간격: 애니메이션 프레임마다 시간이 얼마나 나아가는지(ms).
- 속도 옵션: 사용자에게 보여 줄 재생 속도 배수를 쉼표로 구분한 목록(예:
1, 5, 10, 15, 25). - 타임스탬프: 현재 재생 시각을 표시합니다. 드롭다운에서 날짜/시간 형식을 고릅니다.
- 실제 위치에 스냅: 켜면 재생하는 동안 마커가 가장 가까운 실제 데이터 점에 붙습니다. 펼쳐서 JavaScript 필터 함수를 설정합니다. 이 함수는
data와dsData를 받아, 그 점을 기준점으로 써야 하면true를 돌려줍니다(예: 시간 간격으로 거르기:return data.time % 1000 === 0).
지도 작업 버튼
섹션 제목: “지도 작업 버튼”지도 위에 겹쳐 표시할 사용자 지정 버튼을 추가합니다. 버튼마다 클릭하면 미리 정한 동작을 실행합니다.
버튼마다 라벨, 아이콘, 색상, 동작이 있습니다.
쓸 수 있는 동작 유형: 동작 안 함, 새로운 대시보드 상태 탐색, 현재 대시보드 상태 업데이트, 다른 대시보드 탐색, Custom action, Custom action (with HTML template), 모바일 액션, URL 열기, 맵 항목 배치.
버튼을 더 설정하려면 버튼 추가를 클릭합니다.
동작 설정에 대한 자세한 내용은 위젯 동작을 참고하세요.
공통 지도 설정
섹션 제목: “공통 지도 설정”- 모든 마커를 포함하도록 지도 경계 맞춤: 불러올 때 보이는 지도 항목이 모두 들어오도록 확대 수준과 위치를 자동으로 맞춥니다. 기본으로 켜져 있습니다.
- 기본 지도 중심 위치: 자동 맞춤을 끄면 쓰는 처음 지도 중심 좌표(위도, 경도).
- 기본 지도 확대 수준: 처음 확대 수준. 값이 클수록 가까이 확대합니다(예: 국가 수준 7, 거리 수준 15).
- 로드할 엔터티 수 제한: 한 번에 불러올 엔티티 최대 수. 데이터가 많을 때 성능 문제를 막습니다(기본값: 16384).
- 제목: 위젯 헤더 라벨. 기본으로 꺼져 있습니다. 패턴 변수로
${entityName}이나${entityLabel}을 쓰거나 고정 문자열을 입력합니다. - 카드 아이콘: 헤더의 제목 옆에 표시되는 아이콘. 크기(px), 정렬, 색상을 정합니다.
카드 모양
섹션 제목: “카드 모양”- 배경: 카드 배경색.
- 카드 버튼 표시: 위젯 헤더의 Data export와 전체화면 버튼을 켜고 끕니다.
- 카드 모서리 반경: 모서리 둥글기(px, 기본값: 0px).
- 카드 패딩: 내용과 카드 가장자리 사이의 안쪽 간격(px, 기본값: 8px).
위젯 헤더 버튼 동작을 추가합니다. 위젯 헤더의 아이콘 버튼으로, 클릭하면 설정한 동작을 실행합니다.
쓸 수 있는 동작 유형과 설정은 위젯 동작을 참고하세요.
예시: 버스 경로 추적
섹션 제목: “예시: 버스 경로 추적”목표: 버스의 실시간 움직임과 지난 1시간 동안의 경로 전체를 시각화합니다.
예시 위젯 내려받기
이 예시용으로 미리 설정한 Route Map 위젯을 내려받아 내 대시보드에서 다시 쓸 수 있습니다.
가져온 뒤 환경에 맞게 다음 설정을 바꿉니다:
- 데이터 소스: 실제 HMI 장치를 선택합니다(예: 직접 만든 Tracker1).
- 데이터 키: 텔레메트리 키 이름이 다르면 바꿉니다(
latitude,longitude,speed,status). - 지도 공급자: MX On Cloud 인스턴스가 지원하는 공급자를 고릅니다.
사전 준비
latitude, longitude, speed, status를 시계열 텔레메트리로 계속 보내는 HMI 장치가 필요합니다.
-
프로젝트 데이터를 HMI 장치로 옮깁니다. (HMI 장치 연결 방법은 연결 가이드를 참고하세요.)
-
MX On Cloud에 Tracker1이라는 HMI 장치를 만듭니다.
-
Tracker1이
latitude,longitude,speed,status키로 텔레메트리를 받는지 확인합니다.
1단계: 위젯 추가
대시보드를 수정 모드로 열고 Route Map 위젯을 추가합니다.
2단계: 위젯 설정
타임윈도우
시간 구간을 정합니다:
- 실시간
- 과거 1시간
- 집합: 없음.
시간 창 표시 스위치를 끕니다.
지도 유형
지도를 선택하고 레이어 세 개를 설정합니다:
| 라벨 | 공급자 | 레이어 |
|---|---|---|
| Roadmap | OpenStreet | Mapnik |
| Satellite | OpenStreet | HOT |
| Hybrid | OpenStreet | WorldImagery |
오버레이
오버레이 ⇾ 이동 경로에서 이동 경로 추가를 클릭합니다.
이동 경로를 설정합니다:
- 데이터 소스: 장치 — Tracker1
- 위도 키:
latitude, 경도 키:longitude - 추가 데이터 키:
speed,status
마커와 라벨을 설정합니다:
- 마커: 도형 — 버스 아이콘, 크기 34, 색상
#E89623 - 라벨 패턴:
<div style="position: relative; white-space: nowrap; text-align: center; font-size: 12px; top: 5px;"><span style="border-radius: 10px; background-color: #fff; padding-left: 12px; padding-right: 12px; padding-top: 4px; padding-bottom: 4px;">${entityName}</span></div>툴팁 함수를 설정합니다:
var speed = data['speed'];var res;
if (speed > 0) { res = "<b>${entityName}</b><br/><b>Speed:</b> " + String(speed) + " km/h";} else { res = "<b>${entityName}</b><br/><b>Status:</b> At the stop";}
return res;이동 경로 설정을 저장합니다.
모양
제목 표시를 끕니다.
추가를 클릭해 위젯을 대시보드에 넣습니다. 필요하면 크기와 위치를 조정한 다음 대시보드를 저장합니다.
결과
이제 지도에 기록된 위치를 모두 잇는 이어진 경로로 지난 1시간 동안의 버스 경로 전체가 표시됩니다.
문제 해결
섹션 제목: “문제 해결”경로가 표시되지 않음:
- HMI 장치에 설정한 키 이름과 같은 위도·경도 키의 시계열 기록이 있는지 확인합니다(기본값:
latitude,longitude). - 시간 창을 확인합니다. 범위가 너무 좁으면 그 안에 데이터 점이 없을 수 있습니다.
- 데이터 소스 엔티티가 맞고 키 이름이 텔레메트리에 나오는 것과 똑같은지 확인합니다.
마커가 보이지 않음:
- 엔티티에
latitude와longitude속성이나 텔레메트리 값이 있는지 확인합니다. - 위젯 구성의 좌표 키 이름이 엔티티의 실제 키 이름과 같은지 확인합니다.
폴리라인이 표시되지 않음:
- 엔티티에 올바른 키 이름의 폴리라인 속성이 있는지 확인합니다.
- 속성 값이 기대하는 형식을 따르는지 확인합니다:
[[lat1,lng1],[lat2,lng2],...].
지도가 빈 화면으로 열림:
- Google Maps, HERE, Tencent는 MX On Cloud 시스템 설정에 API 자격 증명이 설정되어 있는지 확인합니다.
- OpenStreetMap은 자격 증명이 필요 없습니다.
타임라인 패널이 없음:
- 지도 컨트롤에서 타임라인 제어 패널 스위치를 켭니다.