first commit
BIN
project/fm_viewer/res/telebit/app.ico
Normal file
|
After Width: | Height: | Size: 62 KiB |
BIN
project/fm_viewer/res/telebit/arrow_down.png
Normal file
|
After Width: | Height: | Size: 297 B |
BIN
project/fm_viewer/res/telebit/arrow_up.png
Normal file
|
After Width: | Height: | Size: 291 B |
BIN
project/fm_viewer/res/telebit/backup.png
Normal file
|
After Width: | Height: | Size: 629 B |
BIN
project/fm_viewer/res/telebit/backup_1.png
Normal file
|
After Width: | Height: | Size: 692 B |
BIN
project/fm_viewer/res/telebit/backup_2.png
Normal file
|
After Width: | Height: | Size: 678 B |
BIN
project/fm_viewer/res/telebit/backup_3.png
Normal file
|
After Width: | Height: | Size: 575 B |
BIN
project/fm_viewer/res/telebit/cam_01.png
Normal file
|
After Width: | Height: | Size: 939 B |
BIN
project/fm_viewer/res/telebit/cam_02.png
Normal file
|
After Width: | Height: | Size: 925 B |
BIN
project/fm_viewer/res/telebit/cam_03.png
Normal file
|
After Width: | Height: | Size: 925 B |
BIN
project/fm_viewer/res/telebit/cam_04.png
Normal file
|
After Width: | Height: | Size: 919 B |
BIN
project/fm_viewer/res/telebit/cam_center.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
project/fm_viewer/res/telebit/chechbox_disabled.png
Normal file
|
After Width: | Height: | Size: 100 B |
BIN
project/fm_viewer/res/telebit/checkbox_checked.png
Normal file
|
After Width: | Height: | Size: 138 B |
BIN
project/fm_viewer/res/telebit/checkbox_partial.png
Normal file
|
After Width: | Height: | Size: 138 B |
BIN
project/fm_viewer/res/telebit/checkbox_unchecked.png
Normal file
|
After Width: | Height: | Size: 119 B |
BIN
project/fm_viewer/res/telebit/cursor_magnify.png
Normal file
|
After Width: | Height: | Size: 373 B |
BIN
project/fm_viewer/res/telebit/ffilesave.png
Normal file
|
After Width: | Height: | Size: 991 B |
BIN
project/fm_viewer/res/telebit/ffilesave_1.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
project/fm_viewer/res/telebit/ffilesave_2.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
project/fm_viewer/res/telebit/ffilesave_3.png
Normal file
|
After Width: | Height: | Size: 761 B |
BIN
project/fm_viewer/res/telebit/fprint.png
Normal file
|
After Width: | Height: | Size: 860 B |
BIN
project/fm_viewer/res/telebit/fprint_1.png
Normal file
|
After Width: | Height: | Size: 954 B |
BIN
project/fm_viewer/res/telebit/fprint_2.png
Normal file
|
After Width: | Height: | Size: 891 B |
BIN
project/fm_viewer/res/telebit/fprint_3.png
Normal file
|
After Width: | Height: | Size: 638 B |
BIN
project/fm_viewer/res/telebit/freport_ch1.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
project/fm_viewer/res/telebit/freport_ch1_1.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
project/fm_viewer/res/telebit/freport_ch1_2.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
project/fm_viewer/res/telebit/freport_ch1_3.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
project/fm_viewer/res/telebit/freport_ch2.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
project/fm_viewer/res/telebit/freport_ch2_1.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
project/fm_viewer/res/telebit/freport_ch2_2.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
project/fm_viewer/res/telebit/freport_ch2_3.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
230
project/fm_viewer/res/telebit/gmap.html
Normal file
@@ -0,0 +1,230 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
<meta name="viewport" content="initial-scale=1.0">
|
||||
<meta charset="utf-8">
|
||||
<head>
|
||||
|
||||
<style type="text/css">
|
||||
.gm-style .controls {
|
||||
font-size: 28px; /* this adjusts the size of all the controls */
|
||||
|
||||
background-color: white;
|
||||
box-shadow: rgba(0, 0, 0, 0.3) 0px 1px 4px -1px;
|
||||
box-sizing: border-box;
|
||||
border-radius: 2px;
|
||||
cursor: pointer;
|
||||
font-weight: 300;
|
||||
height: 1em;
|
||||
margin: 6px;
|
||||
text-align: center;
|
||||
user-select: none;
|
||||
padding: 2px;
|
||||
width: 1em;
|
||||
}
|
||||
.gm-style .controls button {
|
||||
border: 0;
|
||||
background-color: white;
|
||||
color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.gm-style .controls button:hover {
|
||||
color: rgba(0, 0, 0, 0.9);
|
||||
}
|
||||
|
||||
.gm-style .controls.zoom-control {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: auto;
|
||||
}
|
||||
.gm-style .controls.zoom-control button {
|
||||
font: 0.85em Arial;
|
||||
margin: 1px;
|
||||
padding: 0;
|
||||
}
|
||||
html, body{
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#map_canvas
|
||||
{
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
position: relative;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
function initZoomControl(map)
|
||||
{
|
||||
document.querySelector('.zoom-control-in').onclick = function() {
|
||||
map.setZoom(map.getZoom() + 1);
|
||||
};
|
||||
document.querySelector('.zoom-control-out').onclick = function() {
|
||||
map.setZoom(map.getZoom() - 1);
|
||||
};
|
||||
map.controls[google.maps.ControlPosition.RIGHT_BOTTOM].push(
|
||||
document.querySelector('.zoom-control'));
|
||||
}
|
||||
function gob(e)
|
||||
{
|
||||
if(typeof(e)=='object')
|
||||
return(e);
|
||||
if(document.getElementById)
|
||||
return(document.getElementById(e));
|
||||
return(eval(e))
|
||||
}
|
||||
|
||||
var polyline;
|
||||
var carMarker;
|
||||
var lineColor = [];
|
||||
var color1;
|
||||
var center_last = null;
|
||||
|
||||
function initmap()
|
||||
{
|
||||
geocoder = new google.maps.Geocoder();
|
||||
// LONDON 51.5037856,-0.1169808
|
||||
// TOKYO 35.681382, 139.766084
|
||||
// 37.5665373,126.9776357
|
||||
var latlng = new google.maps.LatLng(37.5665373, 126.9776357);
|
||||
var mapTypeIds = [];
|
||||
for(var type in google.maps.MapTypeId) {
|
||||
mapTypeIds.push(google.maps.MapTypeId[type]);
|
||||
}
|
||||
|
||||
var myOptions = {
|
||||
zoom: 16,
|
||||
center: latlng,
|
||||
zoomControl:true,
|
||||
zoomControlOptions: {
|
||||
position: google.maps.ControlPosition.LEFT_CENTER
|
||||
},
|
||||
draggableCursor: 'default',
|
||||
draggingCursor: 'pointer',
|
||||
fullscreenControl: false,
|
||||
scaleControl: true,
|
||||
scrollwheel: true,
|
||||
controlSize: 26,
|
||||
mapTypeControl: true,
|
||||
mapTypeControlOptions: {
|
||||
mapTypeIds: [
|
||||
google.maps.MapTypeId.ROADMAP,
|
||||
google.maps.MapTypeId.SATELLITE
|
||||
]
|
||||
},
|
||||
styles: [{featureType: 'poi', stylers: [{visibility: 'off'}]}],
|
||||
streetViewControl: false};
|
||||
|
||||
map = new google.maps.Map(gob('map_canvas'),myOptions);
|
||||
initZoomControl(map);
|
||||
initLineColor();
|
||||
}
|
||||
|
||||
function initLineColor() { //14단계
|
||||
lineColor.push('#7FED11');
|
||||
lineColor.push('#35ED11');
|
||||
lineColor.push('#11ED3C');
|
||||
lineColor.push('#11ED7F');
|
||||
lineColor.push('#11EDC8');
|
||||
lineColor.push('#11C8ED');
|
||||
lineColor.push('#117FED');
|
||||
lineColor.push('#1135ED');
|
||||
lineColor.push('#3511ED');
|
||||
lineColor.push('#7F11ED');
|
||||
lineColor.push('#C811ED');
|
||||
lineColor.push('#ED11C8');
|
||||
lineColor.push('#ED117F');
|
||||
lineColor.push('#ED1135');
|
||||
}
|
||||
function setLatLag(Latitude, Longitude, speed, bFirst, bDistance) {
|
||||
|
||||
var center = new google.maps.LatLng(Latitude, Longitude);
|
||||
var l0 = center_last;
|
||||
center_last = center;
|
||||
|
||||
//주행 궤적 표시
|
||||
if ((bFirst == 0) && (bDistance == 0)) {
|
||||
|
||||
// select line color by speed
|
||||
var color_num = speed;
|
||||
|
||||
if (color_num < 0)
|
||||
color_num = 0;
|
||||
else if (color_num > 13)
|
||||
color_num = 13;
|
||||
|
||||
|
||||
if(color1 == color_num && polyline != null)
|
||||
{
|
||||
var path = polyline.getPath();
|
||||
path.push(center);
|
||||
//polyline.addLatLng([lat1, long1]);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
// draw line
|
||||
//
|
||||
polyline = new google.maps.Polyline({
|
||||
path: [l0,center],
|
||||
strokeColor: lineColor[color_num],
|
||||
strokeOpacity: 1.0,
|
||||
strokeWeight: 4
|
||||
});
|
||||
polyline.setMap(map);
|
||||
}
|
||||
|
||||
// 저장
|
||||
color1 = color_num;
|
||||
}
|
||||
else
|
||||
{
|
||||
polyline = null;
|
||||
}
|
||||
|
||||
if(!carMarker)
|
||||
{
|
||||
carMarker = new google.maps.Marker({ position: center,
|
||||
map: map,
|
||||
zIndex: 999,
|
||||
icon: 'data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAFS0lEQVRIiZWWaWxVRRTHf29vS2lL2QzG0rTUihRcalWIiEQDRIJUI2GLISTGiApqIiiIkCgRlA+WCNFGlkQQQmhAPtRgYg0Uy1KLgBawQilLwEKhLKWvb7l3xsy8+/C9ex+0/JOTuTPnzPnfc2bmzLiw4cwo+8htlACvAWVAAZBrKdqB08DvwMbBdbLRMTMBLleM0kHcMtJhOxBYAbwKZDq0ybgFVAEf5e+TlxzauxE3P5XUfRZYCxSpjrtXFr7iUrxDRkAgXYu41ka0+S/MpkNSdt2K+zsJvF5wQNb2mPhk2e3PMcA2oL/L5yfj+SlkTn8fz+ChCCGQUuo2LtGW44SrVhPds0NiRpXfNmDKkHq5p0fETaW6GQrsVJG6s/uSO28l6eOmxUhCQaKt53Srf8AXgH6DkF6/7kd+3UZ07VIhb91wW5FPfrBBnrATe+3EpqmbJYpURZo7N0YaudDC1RVvEz15FHf/+3FnZiMB0XEd0XYBT0EJ/rlf4hpdjssQbmP1AolpFFm+pjtSbh9oHM5zwC4gkDV5Nn0XrtaRXF4wFf+IkfSaMgehCBPSLEyDrqpKjMaD+BdVxlK/ZhGiRq0UYWDCsD/l7sSI3Y6IBeWmICDTMsmc9o52YoaCdNbvJn3SLEwpMU0zWYTEM2EGkSN12laNyYmzMH1pQvlSPu08TmKTMpVu39An8OYVEb1xjRvVW3APKkT405yklghfADkgn3DNDkyV/vsGIwoecStfyqedx7nGBnlakR/bvedmjCZ68azWnR01wG7uQPTkElxbK/GuqcYcVIg8clCZ5PUk4j56g/XK0ZFkv7UU6697LK6Z78WykN47PqdPT4hDytgIhfRkb0ExwuUj9/N1ZEx9847knvLZ+BZWYLp8yAcKdbaMUDiuD3WfapMrQN9w67+xycEgwpuGb3gZRjgSP25OFJXAQ48iPH49RxmKK22ImP2VbokNk+NAccfhBvpZGydys4Mzk55GhsPos5QCHcvm4/IHkKEu3KbQxNG/G5Ex4uM9iVjV15e7mk/RXrWRwIjSWJS3gmSMHU/WnPlIfX6tkimF7nd+V0H0txrtQ7g9mD/vxDgX25QXTRrj5zcOj514ZhpNUlIuJf2il1rp/dIUhGHizSsk/cVX8BYWIzN6/S/plvTORuDGNewxXMMfJ7Lua0T7VYKCCx/fZPM1ScBKuc6Zo3JVZ+tmMfCp0meOHcfA5asQ1qWgd2ti1bKJir5r+ScY+/XFJBsNNn/YyVbLfXM87Y6Ip/tASmqlpERKHg6fbqbr6GF8RcWQnZNEpCtUwi1ltDQTXLkMo36/8kGryb55QSoT3KuoW1JG/GP67U/1ADgA5KuOOyubjBfGk/bMGPylZUk/EG6oJ1JXS2RPDbKjQ08OweXPwnxwTHA9cQsBP6Uk3h5I6s4AvrdnxtN/AK6cHJ0a0d6u1zIREsRewVcVUZLuYiAI6B3o2NUi+bhsBsYBs5JsLl0GJXfARcnuCsNBSuJ57o5YYT7wpPU46BZdcH6NYEMKOxVtU7zjKJmK2CZtQrBYLWUKXZKYgug+waYmyQ2bW1UyG6w2NbHajSlku5SsTzGeJOclv1RK9ttcqjX5A5J/xkF8Fyy2HKREJzR/A5sSdF3AMUDdi1ftc+6FuN16P3XaFQJCdfBDC3RYlek8sNd66KfEvRArVAPf2gfPwq4NsTVUZ/YQcMR6a90RjnO85U6WyVCFRT/9O+CfN+DdGD+n1CPEYZ0C9xpxHPNUdBJu1sIXwP4tcGJLD0kVHOe4h6gHVql0TYT1ExMmqdp9N+jrEfgP4vQlN0VUoHYAAAAASUVORK5CYII='
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
carMarker.setPosition(center);
|
||||
}
|
||||
map.panTo(center);
|
||||
}
|
||||
</script>
|
||||
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=AIzaSyA7ujCOO5j5VAx5Ae1_lvakQGmU0-GvArI®ion=JP&language=ko&callback=initmap"async defer></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="map_canvas" style="width: 100%; height: 100%;"></div>
|
||||
<div style="display:none">
|
||||
<div class="controls zoom-control">
|
||||
<button class="zoom-control-in" title="Zoom In">+</button>
|
||||
<button class="zoom-control-out" title="Zoom Out">-</button>
|
||||
</div>
|
||||
<div class="controls maptype-control maptype-control-is-map">
|
||||
<button class="maptype-control-map"
|
||||
title="Show road map">Map</button>
|
||||
<button class="maptype-control-satellite"
|
||||
title="Show satellite imagery">Satellite</button>
|
||||
</div>
|
||||
<div class="controls fullscreen-control">
|
||||
<button title="Toggle Fullscreen">
|
||||
<div class="fullscreen-control-icon fullscreen-control-top-left"></div>
|
||||
<div class="fullscreen-control-icon fullscreen-control-top-right"></div>
|
||||
<div class="fullscreen-control-icon fullscreen-control-bottom-left"></div>
|
||||
<div class="fullscreen-control-icon fullscreen-control-bottom-right"></div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
BIN
project/fm_viewer/res/telebit/graph_down.png
Normal file
|
After Width: | Height: | Size: 551 B |
BIN
project/fm_viewer/res/telebit/graph_down_1.png
Normal file
|
After Width: | Height: | Size: 559 B |
BIN
project/fm_viewer/res/telebit/graph_down_2.png
Normal file
|
After Width: | Height: | Size: 508 B |
BIN
project/fm_viewer/res/telebit/graph_down_3.png
Normal file
|
After Width: | Height: | Size: 387 B |
BIN
project/fm_viewer/res/telebit/graph_up.png
Normal file
|
After Width: | Height: | Size: 517 B |
BIN
project/fm_viewer/res/telebit/graph_up_1.png
Normal file
|
After Width: | Height: | Size: 541 B |
BIN
project/fm_viewer/res/telebit/graph_up_2.png
Normal file
|
After Width: | Height: | Size: 476 B |
BIN
project/fm_viewer/res/telebit/graph_up_3.png
Normal file
|
After Width: | Height: | Size: 357 B |
77
project/fm_viewer/res/telebit/kakao.html
Normal file
@@ -0,0 +1,77 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>지도 생성하기</title>
|
||||
<style>
|
||||
html, body {width:100%;height:100%;margin:0;padding:0;}
|
||||
.map_wrap {position:relative;overflow:hidden;width:100%;height:100%;}
|
||||
.radius_border{border:1px solid #919191;border-radius:5px;}
|
||||
.custom_typecontrol {position:absolute;top:10px;right:10px;overflow:hidden;width:130px;height:30px;margin:0;padding:0;z-index:1;font-size:12px;font-family:'Malgun Gothic', '맑은 고딕', sans-serif;}
|
||||
.custom_typecontrol span {display:block;width:65px;height:30px;float:left;text-align:center;line-height:30px;cursor:pointer;}
|
||||
.custom_typecontrol .btn {background:#fff;background:linear-gradient(#fff, #e6e6e6);}
|
||||
.custom_typecontrol .btn:hover {background:#f5f5f5;background:linear-gradient(#f5f5f5,#e3e3e3);}
|
||||
.custom_typecontrol .btn:active {background:#e6e6e6;background:linear-gradient(#e6e6e6, #fff);}
|
||||
.custom_typecontrol .selected_btn {color:#fff;background:#425470;background:linear-gradient(#425470, #5b6d8a);}
|
||||
.custom_typecontrol .selected_btn:hover {color:#fff;}
|
||||
.custom_zoomcontrol {position:absolute;top:50px;right:10px;width:36px;height:80px;overflow:hidden;z-index:1;background-color:#f5f5f5;}
|
||||
.custom_zoomcontrol span {display:block;width:36px;height:40px;text-align:center;cursor:pointer;}
|
||||
.custom_zoomcontrol span img {width:15px;height:15px;padding:12px 0;border:none;}
|
||||
.custom_zoomcontrol span:first-child{border-bottom:1px solid #bfbfbf;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 지도를 표시할 div 입니다 -->
|
||||
<div class="map_wrap">
|
||||
<div id="map" style="width:100%;height:100%;position:relative;overflow:hidden;"></div>
|
||||
<!-- 지도타입 컨트롤 div 입니다 -->
|
||||
<div class="custom_typecontrol radius_border">
|
||||
<span id="btnRoadmap" class="selected_btn" onclick="setMapType('roadmap')">지도</span>
|
||||
<span id="btnSkyview" class="btn" onclick="setMapType('skyview')">스카이뷰</span>
|
||||
</div>
|
||||
<!-- 지도 확대, 축소 컨트롤 div 입니다 -->
|
||||
<div class="custom_zoomcontrol radius_border">
|
||||
<span onclick="zoomIn()"><img src="https://t1.daumcdn.net/localimg/localimages/07/mapapidoc/ico_plus.png" alt="확대"></span>
|
||||
<span onclick="zoomOut()"><img src="https://t1.daumcdn.net/localimg/localimages/07/mapapidoc/ico_minus.png" alt="축소"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=c1ae69a037acc4eebfb9f6b038dd44fd"></script>
|
||||
<script>
|
||||
var mapContainer = document.getElementById('map'), // 지도를 표시할 div
|
||||
mapOption = {
|
||||
center: new kakao.maps.LatLng(37.5548599, 126.9681692), // 지도의 중심좌표
|
||||
level: 3 // 지도의 확대 레벨
|
||||
};
|
||||
|
||||
// 지도를 표시할 div와 지도 옵션으로 지도를 생성합니다
|
||||
var map = new kakao.maps.Map(mapContainer, mapOption);
|
||||
|
||||
// 지도타입 컨트롤의 지도 또는 스카이뷰 버튼을 클릭하면 호출되어 지도타입을 바꾸는 함수입니다
|
||||
function setMapType(maptype) {
|
||||
var roadmapControl = document.getElementById('btnRoadmap');
|
||||
var skyviewControl = document.getElementById('btnSkyview');
|
||||
if (maptype === 'roadmap') {
|
||||
map.setMapTypeId(kakao.maps.MapTypeId.ROADMAP);
|
||||
roadmapControl.className = 'selected_btn';
|
||||
skyviewControl.className = 'btn';
|
||||
} else {
|
||||
map.setMapTypeId(kakao.maps.MapTypeId.HYBRID);
|
||||
skyviewControl.className = 'selected_btn';
|
||||
roadmapControl.className = 'btn';
|
||||
}
|
||||
}
|
||||
|
||||
// 지도 확대, 축소 컨트롤에서 확대 버튼을 누르면 호출되어 지도를 확대하는 함수입니다
|
||||
function zoomIn() {
|
||||
map.setLevel(map.getLevel() - 1);
|
||||
}
|
||||
|
||||
// 지도 확대, 축소 컨트롤에서 축소 버튼을 누르면 호출되어 지도를 확대하는 함수입니다
|
||||
function zoomOut() {
|
||||
map.setLevel(map.getLevel() + 1);
|
||||
}
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
BIN
project/fm_viewer/res/telebit/list_1hour_title.png
Normal file
|
After Width: | Height: | Size: 543 B |
BIN
project/fm_viewer/res/telebit/list_all_title.png
Normal file
|
After Width: | Height: | Size: 501 B |
BIN
project/fm_viewer/res/telebit/logo_front_big.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
project/fm_viewer/res/telebit/logo_front_small.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
project/fm_viewer/res/telebit/logo_rear_big.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
project/fm_viewer/res/telebit/logo_rear_small.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
project/fm_viewer/res/telebit/m360_2d.png
Normal file
|
After Width: | Height: | Size: 511 B |
BIN
project/fm_viewer/res/telebit/m360_3d.png
Normal file
|
After Width: | Height: | Size: 294 B |
BIN
project/fm_viewer/res/telebit/m360_4ch.png
Normal file
|
After Width: | Height: | Size: 393 B |
BIN
project/fm_viewer/res/telebit/m360_5ch.png
Normal file
|
After Width: | Height: | Size: 390 B |
BIN
project/fm_viewer/res/telebit/m360_reset.png
Normal file
|
After Width: | Height: | Size: 478 B |
BIN
project/fm_viewer/res/telebit/m360_save.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
262
project/fm_viewer/res/telebit/map.html
Normal file
@@ -0,0 +1,262 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.5.1/dist/leaflet.css" integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ==" crossorigin=""/>
|
||||
<script src="https://unpkg.com/leaflet@1.5.1/dist/leaflet.js"
|
||||
integrity="sha512-GffPMF3RvMeYyc1LWMHtK8EbPv0iNZ8/oTtHPx9/cc2ILxQ+u905qIwdpULaqDkyBKgOaB57QTMg7ztg8Jm2Og=="
|
||||
crossorigin=""></script>
|
||||
<!--
|
||||
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css" />
|
||||
<script src="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet-src.js" type="text/javascript"></script>
|
||||
-->
|
||||
<script type="text/javascript">
|
||||
|
||||
// Global
|
||||
var lat1;
|
||||
var long1;
|
||||
var color1;
|
||||
|
||||
var markers = null;
|
||||
var map = null;
|
||||
// var layerGroups = [];
|
||||
// var layerGroup = null;
|
||||
var lineColor = [];
|
||||
var polyline = null;
|
||||
var polylines = [];
|
||||
|
||||
var icon = L.divIcon({
|
||||
className: 'embeded_icon',
|
||||
iconSize: [30, 30],
|
||||
iconAnchor: [15, 30],
|
||||
html: '<img src="data:image/png;base64, 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"/>'
|
||||
});
|
||||
|
||||
function moveTest() {
|
||||
lat1 = 35.681382;
|
||||
long1 = 139.766084;
|
||||
var position = L.latLng(lat1, long1);
|
||||
map.panTo(position);
|
||||
}
|
||||
|
||||
// 차량 이동 (==GoogleMap)
|
||||
function moveToMap(Latitude, Longitude) {
|
||||
if(map == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
var position = L.latLng(Latitude, Longitude); //좌표 이동
|
||||
if(!map.hasLayer(markers)) { // 지도에서 제거 되었을 경우 추가
|
||||
map.addLayer(markers);
|
||||
}
|
||||
markers.setLatLng( position ); // 차량 표시 이동
|
||||
|
||||
map.panTo(position); // 지도 센터 이동
|
||||
}
|
||||
|
||||
// 경로 그리기 (==GoogleMap)
|
||||
function drawPaths(pathArray)
|
||||
{
|
||||
var first = null;
|
||||
clearPath();
|
||||
|
||||
var points = [];
|
||||
// GPS가 연결, 끊어짐을 반복하여 몇개의 POLYLINE으로 구성 될 수 있음
|
||||
// [[{lat:y,lng:x}],[{lat:y,lng:x}]]
|
||||
for(var idx in pathArray) {
|
||||
var path = pathArray[idx];
|
||||
for(var idx2 in path) {
|
||||
var point = path[idx2];
|
||||
points.push([point["lat"],point["lng"]]);
|
||||
}
|
||||
|
||||
// 각 경로를 추가
|
||||
var line = L.polyline(points, { color: "#FF0000",
|
||||
weight: 4,
|
||||
opacity: 1.0,
|
||||
smoothFactor: 4.0,
|
||||
lineCap: "square",
|
||||
lineJoin: "square",
|
||||
interactive: false
|
||||
}
|
||||
).addTo(map);
|
||||
|
||||
|
||||
polylines.push(line); // 리스트에 추가
|
||||
}
|
||||
//alert(points);
|
||||
|
||||
|
||||
}
|
||||
|
||||
// 경로 제거 (==GoogleMap)
|
||||
function clearPath()
|
||||
{
|
||||
for(var idx in polylines) {
|
||||
var line = polylines[idx];
|
||||
map.removeLayer(line);
|
||||
}
|
||||
polylines = [];
|
||||
clearCarMarker();
|
||||
}
|
||||
// 차량표시 제거 (==GoogleMap)
|
||||
function clearCarMarker()
|
||||
{
|
||||
if(map == null) {
|
||||
return;
|
||||
}
|
||||
map.removeLayer(markers);
|
||||
}
|
||||
|
||||
//초기화 처리
|
||||
function init() {
|
||||
|
||||
//초기 위치(서울)WGS84
|
||||
lat1 = 37.5548599;
|
||||
long1 = 126.9681692;
|
||||
var position = L.latLng(lat1, long1);
|
||||
|
||||
//초기 줌 수준
|
||||
var zoom = 16;
|
||||
|
||||
//OSM타일·레이어 생성
|
||||
var tl_osm = new L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
|
||||
{
|
||||
attribution: 'Map data © <a href="http://openstreetmap.org" target="_blank">OpenStreetMap</a>',
|
||||
maxZoom: 18,
|
||||
});
|
||||
|
||||
//GoogleMAP레이어 생성
|
||||
//var tl_gmap = new L.Google('ROADMAP');
|
||||
|
||||
//지도 선택용 레이어 배열
|
||||
var Map_base = {
|
||||
"OpenStreetMap": tl_osm
|
||||
};
|
||||
|
||||
//맵 객체의 생성(센터 위치, 줌 수준, 지도 층 지정 부)
|
||||
//layers:[tl_osm],
|
||||
map = L.map('basicMap',{
|
||||
center: [lat1, long1],
|
||||
zoom: zoom,
|
||||
attributionControl:false
|
||||
}
|
||||
);
|
||||
|
||||
tl_osm.addTo(map);
|
||||
L.control.attribution({prefix: '<a href="https://leafletjs.com/" target="_blank">Leaflet</a>'}).addTo(map);
|
||||
|
||||
|
||||
//자기 마커 추가
|
||||
markers = L.marker(position, { icon: icon });//.addTo(map);
|
||||
|
||||
//속도에 따른 궤적의 색의 테이블 생성
|
||||
initLineColor();
|
||||
}
|
||||
|
||||
//주행 궤적 색 테이블
|
||||
function initLineColor() { //14단계
|
||||
lineColor.push('#7FED11');
|
||||
lineColor.push('#35ED11');
|
||||
lineColor.push('#11ED3C');
|
||||
lineColor.push('#11ED7F');
|
||||
lineColor.push('#11EDC8');
|
||||
lineColor.push('#11C8ED');
|
||||
lineColor.push('#117FED');
|
||||
lineColor.push('#1135ED');
|
||||
lineColor.push('#3511ED');
|
||||
lineColor.push('#7F11ED');
|
||||
lineColor.push('#C811ED');
|
||||
lineColor.push('#ED11C8');
|
||||
lineColor.push('#ED117F');
|
||||
lineColor.push('#ED1135');
|
||||
}
|
||||
|
||||
|
||||
// API
|
||||
// 이동하면서 PATH 를 그린다. .. 처음부터 다 그리는 방식이 아님.
|
||||
function setLatLag(Latitude, Longitude, speed, bFirst, bDistance) {
|
||||
|
||||
if(map == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
var lat0, long0;
|
||||
lat0 = lat1;
|
||||
long0 = long1;
|
||||
|
||||
lat1 = Latitude;
|
||||
long1 = Longitude;
|
||||
|
||||
//주행 궤적 표시
|
||||
if ((bFirst == 0) && (bDistance == 0)) {
|
||||
|
||||
var points = [
|
||||
[lat0, long0],
|
||||
[lat1, long1]
|
||||
];
|
||||
|
||||
// select line color by speed
|
||||
var color_num = speed;
|
||||
|
||||
if (color_num < 0)
|
||||
color_num = 0;
|
||||
else if (color_num > 13)
|
||||
color_num = 13;
|
||||
|
||||
|
||||
if(color1 == color_num && polyline != null)
|
||||
{
|
||||
polyline.addLatLng([lat1, long1]);
|
||||
}
|
||||
else
|
||||
{
|
||||
// draw line
|
||||
polyline = L.polyline(points,
|
||||
{
|
||||
color: lineColor[color_num],
|
||||
weight: 4,
|
||||
opacity: 1.0,
|
||||
smoothFactor: 4.0,
|
||||
lineCap: "square",
|
||||
lineJoin: "square",
|
||||
interactive: false
|
||||
}
|
||||
).addTo(map);
|
||||
}
|
||||
|
||||
// 저장
|
||||
color1 = color_num;
|
||||
}
|
||||
else
|
||||
{
|
||||
polyline = null;
|
||||
}
|
||||
|
||||
//마커를 이동
|
||||
var position = L.latLng(lat1, long1);
|
||||
markers.setLatLng( position );
|
||||
|
||||
//맵을 센터링
|
||||
map.panTo(position);
|
||||
|
||||
}
|
||||
</script>
|
||||
<head>
|
||||
<title>OSM, 地理院地図 by leaflet.js</title>
|
||||
<style type="text/css">
|
||||
html, body, #basicMap {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<!--<body onload="init();">-->
|
||||
<body onload="init();" oncontextmenu="return false;">
|
||||
|
||||
<div id="basicMap"></div>
|
||||
|
||||
</body>
|
||||
|
||||
|
||||
</html>
|
||||
BIN
project/fm_viewer/res/telebit/map_marker.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
project/fm_viewer/res/telebit/no_thumbnail.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
project/fm_viewer/res/telebit/normal.ico
Normal file
|
After Width: | Height: | Size: 132 KiB |
BIN
project/fm_viewer/res/telebit/num_15x25.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
project/fm_viewer/res/telebit/open.png
Normal file
|
After Width: | Height: | Size: 788 B |
BIN
project/fm_viewer/res/telebit/open_1.png
Normal file
|
After Width: | Height: | Size: 852 B |
BIN
project/fm_viewer/res/telebit/open_2.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
project/fm_viewer/res/telebit/open_3.png
Normal file
|
After Width: | Height: | Size: 633 B |
BIN
project/fm_viewer/res/telebit/panel_bg9.png
Normal file
|
After Width: | Height: | Size: 172 B |
BIN
project/fm_viewer/res/telebit/play_backward.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
project/fm_viewer/res/telebit/play_backward_1.png
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
BIN
project/fm_viewer/res/telebit/play_backward_2.png
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
BIN
project/fm_viewer/res/telebit/play_backward_3.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
project/fm_viewer/res/telebit/play_bg.png
Normal file
|
After Width: | Height: | Size: 122 B |
BIN
project/fm_viewer/res/telebit/play_forward.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
project/fm_viewer/res/telebit/play_forward_1.png
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
BIN
project/fm_viewer/res/telebit/play_forward_2.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
project/fm_viewer/res/telebit/play_forward_3.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
project/fm_viewer/res/telebit/play_next.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
project/fm_viewer/res/telebit/play_next_1.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
project/fm_viewer/res/telebit/play_next_2.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
project/fm_viewer/res/telebit/play_next_3.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
project/fm_viewer/res/telebit/play_play.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
project/fm_viewer/res/telebit/play_play_1.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
project/fm_viewer/res/telebit/play_play_2.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
project/fm_viewer/res/telebit/play_play_3.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
project/fm_viewer/res/telebit/play_play_checked.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
project/fm_viewer/res/telebit/play_play_checked_1.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
project/fm_viewer/res/telebit/play_play_checked_2.png
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
project/fm_viewer/res/telebit/play_play_checked_3.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
project/fm_viewer/res/telebit/play_previous.png
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
project/fm_viewer/res/telebit/play_previous_1.png
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
BIN
project/fm_viewer/res/telebit/play_previous_2.png
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
BIN
project/fm_viewer/res/telebit/play_previous_3.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
project/fm_viewer/res/telebit/play_stop.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
project/fm_viewer/res/telebit/play_stop_1.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
project/fm_viewer/res/telebit/play_stop_2.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
project/fm_viewer/res/telebit/play_stop_3.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
project/fm_viewer/res/telebit/popup_btn_disabled.png
Normal file
|
After Width: | Height: | Size: 722 B |
BIN
project/fm_viewer/res/telebit/popup_btn_focused.png
Normal file
|
After Width: | Height: | Size: 722 B |
BIN
project/fm_viewer/res/telebit/popup_btn_normal.png
Normal file
|
After Width: | Height: | Size: 722 B |
BIN
project/fm_viewer/res/telebit/popup_btn_pressed.png
Normal file
|
After Width: | Height: | Size: 722 B |
BIN
project/fm_viewer/res/telebit/radio_button_checked.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
project/fm_viewer/res/telebit/radio_button_checked_disabled.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |