An open API service indexing awesome lists of open source software.

https://github.com/juseounghyun/gps_parsing

(개인 프로젝트) NMEA Parsing Markup GPS
https://github.com/juseounghyun/gps_parsing

chtml cpp11 gps-location mfc nmea

Last synced: 2 months ago
JSON representation

(개인 프로젝트) NMEA Parsing Markup GPS

Awesome Lists containing this project

README

        

### 0. 기본 화면

![Basic Screen](https://github.com/JUSEOUNGHYUN/GPS_Parsing/assets/80812790/28a46cf0-2751-485e-8bc2-5f2e6b627b9f)

### 1. GPS 데이터(NMEA) Parsing후 html 파일 생성
file.Open(m_total, CStdioFile::modeCreate | CStdioFile::modeNoTruncate | CStdioFile::modeWrite | CStdioFile::typeText);
file.WriteString(_T("\n"));
file.WriteString(_T("\n"));
file.WriteString(_T("\n"));
file.WriteString(_T("\t\n"));
file.WriteString(_T("\tMulti-Position Mark\n"));
file.WriteString(_T("\n"));
file.WriteString(_T("\n"));
file.WriteString(_T("

\n"));
file.WriteString(_T("\n"));
file.WriteString(_T("\n"));
file.WriteString(_T("var mapContainer = document.getElementById('map'),\n"));
file.WriteString(_T("\tmapOption = {\n"));
file.WriteString(_T("\t\tcenter: new kakao.maps.LatLng(") + CavgLat + _T(", ") + CavgLon + _T("),\n"));
file.WriteString(_T("\t\tlevel: 6\n"));
file.WriteString(_T("\t};\n"));
file.WriteString(_T("var map = new kakao.maps.Map(mapContainer, mapOption);\n"));
file.WriteString(_T("var positions = [\n"));

// for문 = html에 위도, 경도 데이터 주입
for (int i = 0; i < GGALatCount; i++)
{
CString inf;
CString GGALat = CA2CT(strGroupGGALat[i].c_str()); // 위도
CString GGALon = CA2CT(strGroupGGALon[i].c_str()); // 경도
inf.Format(_T("%d"), i + 1);
file.WriteString(_T("\t{\n"));
file.WriteString(_T("\t\ttitle: '") + inf + _T("',\n"));
file.WriteString(_T("\t\tlatlng: new kakao.maps.LatLng(") + GGALat + _T(", ") + GGALon + _T(")\n"));
file.WriteString(_T("\t},\n"));
}
file.WriteString(_T("];\n"));
file.WriteString(_T("var imageSrc = 'https://t1.daumcdn.net/localimg/localimages/07/mapapidoc/markerStar.png'; \n"));
file.WriteString(_T("\n"));
file.WriteString(_T("for (var i = 0; i < positions.length; i ++) {\n"));
file.WriteString(_T("var imageSize = new kakao.maps.Size(24, 35);\n"));
file.WriteString(_T("var markerImage = new kakao.maps.MarkerImage(imageSrc, imageSize);\n"));
file.WriteString(_T("var marker = new kakao.maps.Marker({\n"));
file.WriteString(_T("map: map,\n"));
file.WriteString(_T("position: positions[i].latlng,\n"));
file.WriteString(_T("title : positions[i].title,\n"));
file.WriteString(_T("image : markerImage\n"));
file.WriteString(_T("});\n"));
file.WriteString(_T("}\n"));
file.WriteString(_T("\n"));
file.WriteString(_T("\n"));
file.WriteString(_T("\n"));

#### 1.1 파일 생성

![화면 캡처 2023-11-02 013915](https://github.com/JUSEOUNGHYUN/GPS_Parsing/assets/80812790/2350b7c3-4ab2-4b7c-8ad8-af03c4b41cb3)

#### 1.2 html에 위치 데이터 마크업
var positions = [
{
title: '1',
latlng: new kakao.maps.LatLng(33.30344, 126.29545)
},
...........
{
title: '40',
latlng: new kakao.maps.LatLng(33.28140, 126.31317)
},
];

### 2. SetViewHtml()
void CGpsParsingDlg::SetViewHtml()
{
DWORD m_NetConnectCheck = NULL;
BOOL m_NetWork = NULL;

if (InternetGetConnectedState(&m_NetConnectCheck, 0))
{
m_NetWork = TRUE;
if ((m_NetConnectCheck & INTERNET_CONNECTION_OFFLINE) != 0)
{
m_NetWork = FALSE;
}
}
else
{
m_NetWork = FALSE;
}

if (m_NetWork)
{
CRect m_map_rc;
GetDlgItem(IDC_EXPLORER_HTML_VIEW)->GetWindowRect(m_map_rc);
ScreenToClient(m_map_rc);

m_map_html_view = new explorerview();
m_map_html_view->Create(NULL, _T(""), WS_CHILD | WS_VISIBLE, m_map_rc, this, 20008);
m_map_html_view->OnInitialUpdate();
}
else
{
AfxMessageBox(_T("Not connecting Network. GPS Maps disable mode"));
}
}

### 3. GPS 위치 데이터 마크업 html (카카오 지도)

![화면 캡처 2023-11-02 014037](https://github.com/JUSEOUNGHYUN/GPS_Parsing/assets/80812790/9876dff4-4e88-4efe-bb61-6d8b180b95ef)

### 4. GPS 위치 데이터 마크업 html (구글 지도)

![google map](https://github.com/JUSEOUNGHYUN/GPS_Parsing/assets/80812790/55166722-d56a-4804-af77-f214eeb619df)

### 5. 컴파일

![gps_1](https://github.com/JUSEOUNGHYUN/GPS_Parsing/assets/80812790/3012a40e-aecb-44d7-9187-b9ddee384879)