|
|
@@ -39,9 +39,36 @@ const stateMap = new Map();
|
|
|
stateMap.set(0, '#FF0000');
|
|
|
stateMap.set(1, '#00FF00');
|
|
|
stateMap.set(2, '#FFFF00');
|
|
|
-stateMap.set(3, '#808080');
|
|
|
+stateMap.set(3, '#E5DEDE');
|
|
|
stateMap.set(4, '#CC6600');
|
|
|
-stateMap.set(5, '#9933FF');
|
|
|
+stateMap.set(5, '#F006D7');
|
|
|
+
|
|
|
+const strokeMap = new Map();
|
|
|
+strokeMap.set(1, 100);
|
|
|
+strokeMap.set(2, 40);
|
|
|
+strokeMap.set(3, 20);
|
|
|
+strokeMap.set(4, 10);
|
|
|
+strokeMap.set(5, 10);
|
|
|
+strokeMap.set(6, 10);
|
|
|
+strokeMap.set(7, 10);
|
|
|
+strokeMap.set(8, 10);
|
|
|
+strokeMap.set(9, 10);
|
|
|
+strokeMap.set(10, 10);
|
|
|
+strokeMap.set(11, 10);
|
|
|
+
|
|
|
+const arrowMap = new Map();
|
|
|
+arrowMap.set(1, 20);
|
|
|
+arrowMap.set(2, 10);
|
|
|
+arrowMap.set(3, 5);
|
|
|
+arrowMap.set(4, 5);
|
|
|
+arrowMap.set(5, 2);
|
|
|
+arrowMap.set(6, 1);
|
|
|
+arrowMap.set(7, 1);
|
|
|
+arrowMap.set(8, 1);
|
|
|
+arrowMap.set(9, 1);
|
|
|
+arrowMap.set(10, 1);
|
|
|
+arrowMap.set(11, 1);
|
|
|
+
|
|
|
var _isClick = null;
|
|
|
let _evpData = [];
|
|
|
|
|
|
@@ -153,7 +180,8 @@ function init() {
|
|
|
}
|
|
|
|
|
|
function drawEvp(serviceId) {
|
|
|
-
|
|
|
+ const bottom = $('#iframeBottomList').contents().find('#evpBottomInfo');
|
|
|
+ bottom.empty();
|
|
|
if (serviceId) {
|
|
|
const $iframe = $('#iframeTreeList');
|
|
|
const iframe = $iframe.contents();
|
|
|
@@ -230,55 +258,8 @@ function drawHistory(data) {
|
|
|
}
|
|
|
|
|
|
function createSig(data) {
|
|
|
- return new EmergencySig(data);
|
|
|
-}
|
|
|
-
|
|
|
-function setEmergencyCurr(car, sigMap, road, arrive, dataMap) {
|
|
|
- const sigArr = dataMap.get('sig');
|
|
|
- const eventObj = dataMap.get('event')
|
|
|
- const eventCd = eventObj.event_cd;
|
|
|
- if (eventCd === 1) {
|
|
|
- const {cur_lat, cur_lng} = eventObj;
|
|
|
- car.moveMarker(getKakaoPosition(cur_lat, cur_lng));
|
|
|
- }
|
|
|
- else if (eventCd === 2) {
|
|
|
- car.hide();
|
|
|
- sigArr.forEach((obj)=>{obj.hide()});
|
|
|
- arrive.hide();
|
|
|
- road.hide();
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- if (sigArr && sigArr.length > 0) {
|
|
|
- for (let sig of sigArr) {
|
|
|
- const sigMarker = sigMap.get(sig.service_id + '_' + sig.seq_no);
|
|
|
- if (sigMarker) {
|
|
|
- if (!sigMarker.a_ring && !sigMarker.b_ring) {
|
|
|
- sigMarker.createRing(sig);
|
|
|
- }
|
|
|
- else {
|
|
|
- const {a_head_lat, a_head_lng, a_mid_lat, a_mid_lng, a_end_lat, a_end_lng,
|
|
|
- b_head_lat, b_head_lng, b_mid_lat, b_mid_lng, b_end_lat, b_end_lng} = sig;
|
|
|
- const aPosition = [
|
|
|
- getKakaoPosition(a_head_lat, a_head_lng),
|
|
|
- getKakaoPosition(a_mid_lat, a_mid_lng),
|
|
|
- getKakaoPosition(a_end_lat, a_end_lng),
|
|
|
- ]
|
|
|
- const bPosition = [
|
|
|
- getKakaoPosition(b_head_lat, b_head_lng),
|
|
|
- getKakaoPosition(b_mid_lat, b_mid_lng),
|
|
|
- getKakaoPosition(b_end_lat, b_end_lng),
|
|
|
- ]
|
|
|
-
|
|
|
- // console.log(aPosition, bPosition);
|
|
|
- sigMarker.a_ring.setPath(aPosition);
|
|
|
- sigMarker.b_ring.setPath(bPosition);
|
|
|
- }
|
|
|
- sigMarker.setState(sig.state);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
+ // return new EmergencySig(data);
|
|
|
+ return new EmergencyCircle(data);
|
|
|
}
|
|
|
|
|
|
function drawEmergencyRoad(data) {
|
|
|
@@ -288,30 +269,9 @@ function drawEmergencyRoad(data) {
|
|
|
if (evpObj) {
|
|
|
evpObj.car.moveMarker(getKakaoPosition(data.event_list[0].cur_lat, data.event_list[0].cur_lng));
|
|
|
data.phase_list.forEach((obj)=>{
|
|
|
- const {a_head_lat, a_head_lng, a_mid_lat, a_mid_lng, a_end_lat, a_end_lng,
|
|
|
- b_head_lat, b_head_lng, b_mid_lat, b_mid_lng, b_end_lat, b_end_lng, state} = obj;
|
|
|
const sig = evpObj.sig.get(obj.service_id + '_' + obj.seq_no);
|
|
|
if (sig) {
|
|
|
- sig.setState(state);
|
|
|
- if (sig.a_ring) {
|
|
|
- const a_head = getKakaoPosition(a_head_lat, a_head_lng);
|
|
|
- const a_mid = getKakaoPosition(a_mid_lat, a_mid_lng);
|
|
|
- const a_end = getKakaoPosition(a_end_lat, a_end_lng);
|
|
|
- sig.a_ring.setPath([a_head, a_mid, a_end]);
|
|
|
- }
|
|
|
-
|
|
|
- if (sig.b_ring) {
|
|
|
- const b_head = getKakaoPosition(b_head_lat, b_head_lng);
|
|
|
- const b_mid = getKakaoPosition(b_mid_lat, b_mid_lng);
|
|
|
- const b_end = getKakaoPosition(b_end_lat, b_end_lng);
|
|
|
- sig.b_ring.setPath([b_head, b_mid, b_end]);
|
|
|
- }
|
|
|
- if (sig.a_ring === null && sig.b_ring === null) {
|
|
|
- sig.createRing(data);
|
|
|
- }
|
|
|
- }
|
|
|
- else {
|
|
|
- evpObj.sig.set(obj.service_id + '_' + obj.seq_no, new EmergencySig(obj));
|
|
|
+ sig.createRing(obj);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
@@ -340,6 +300,7 @@ function drawEmergencyRoad(data) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
function clearEmgMarker() {
|
|
|
if (_EmergencyMap.size > 0) {
|
|
|
_EmergencyMap.forEach((obj)=>{
|
|
|
@@ -809,7 +770,6 @@ function getDrawRoad() {
|
|
|
|
|
|
// 마우스로 클릭한 위치입니다
|
|
|
var clickPosition = mouseEvent.latLng;
|
|
|
- console.log(clickPosition);
|
|
|
// 지도 클릭이벤트가 발생했는데 선을 그리고있는 상태가 아니면
|
|
|
if (!drawingFlag) {
|
|
|
//거리재기초기화
|
|
|
@@ -1529,7 +1489,7 @@ class EmergencyObj{
|
|
|
constructor({ arr_lat, arr_lng, arr_tm, clct_dt,
|
|
|
cur_lat, cur_lng, ev_no, ocr_no, ocr_type,
|
|
|
phase_list, route_list, service_dist,
|
|
|
- service_id, service_nm, status_cd, veh_len, event_list }) {
|
|
|
+ service_id, service_nm, status_cd, veh_len, event_list, node_list }) {
|
|
|
this.arr_lat = arr_lat;
|
|
|
this.arr_lng = arr_lng;
|
|
|
this.arr_tm = arr_tm;
|
|
|
@@ -1551,19 +1511,28 @@ class EmergencyObj{
|
|
|
this.car = null;
|
|
|
this.arrive = null;
|
|
|
this.event_list = event_list;
|
|
|
+ this.node_list = node_list;
|
|
|
this.init();
|
|
|
}
|
|
|
|
|
|
init() {
|
|
|
- this.road = new EmergencyRoadObj(this.route_list);
|
|
|
this.setBound();
|
|
|
+ this.road = new EmergencyRoadObj(this.route_list);
|
|
|
+ if (this.node_list && this.node_list.length) {
|
|
|
+ this.node_list.forEach((obj)=>{
|
|
|
+ this.sig.set(obj.service_id + '_' + obj.seq_no , new EmergencyCircle(obj));
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
if (this.phase_list && this.phase_list.length) {
|
|
|
this.phase_list.forEach((obj)=>{
|
|
|
- const sig = new EmergencySig(obj);
|
|
|
- this.sig.set(obj.service_id + '_' + obj.seq_no, sig);
|
|
|
+ const circle = this.sig.get(obj.service_id + '_' + obj.seq_no);
|
|
|
+ if (circle) {
|
|
|
+ circle.createRing(obj);
|
|
|
+ }
|
|
|
})
|
|
|
}
|
|
|
- this.car = new EmergencyMarker(getKakaoPosition(this.event_list[0].cur_lat, this.event_list[0].cur_lng), '/images/car.svg');
|
|
|
+ this.car = new EmergencyMarker(getKakaoPosition(this.event_list[0].cur_lat, this.event_list[0].cur_lng), '/images/car.gif');
|
|
|
this.arrive = new EmergencyMarker(getKakaoPosition(this.arr_lat, this.arr_lng), '/images/evp_arr.svg');
|
|
|
}
|
|
|
|
|
|
@@ -1586,11 +1555,28 @@ class EmergencyObj{
|
|
|
if (this.arrive) {
|
|
|
this.arrive.hide();
|
|
|
}
|
|
|
+
|
|
|
+ const tree = $('#iframeTreeList').contents().find('#evp-table tr.on');
|
|
|
+ if (tree.length) {
|
|
|
+ const bottom = $('#iframeBottomList').contents().find('#evpBottomInfo');
|
|
|
+ bottom.empty();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
setBound() {
|
|
|
const bounds = new kakao.maps.LatLngBounds();
|
|
|
- bounds.extend(getKakaoPosition(this.cur_lat, this.cur_lng));
|
|
|
+ if (this.cur_lng >= 125.06666667 &&
|
|
|
+ this.cur_lng <= 131.87222222 &&
|
|
|
+ this.cur_lat >= 33.10000000 &&
|
|
|
+ this.cur_lat <= 38.45000000) {
|
|
|
+ bounds.extend(getKakaoPosition(this.cur_lat, this.cur_lng));
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ if (this.event_list[0]) {
|
|
|
+ const {cur_lat, cur_lng} = this.event_list[0];
|
|
|
+ bounds.extend(getKakaoPosition(cur_lat, cur_lng));
|
|
|
+ }
|
|
|
+ }
|
|
|
bounds.extend(getKakaoPosition(this.arr_lat, this.arr_lng));
|
|
|
map.setBounds(bounds);
|
|
|
}
|
|
|
@@ -1628,7 +1614,7 @@ class Ring{
|
|
|
}
|
|
|
// 선이 그려지고 있을 때 마우스 움직임에 따라 선이 그려질 위치를 표시할 선을 생성합니다
|
|
|
this.polyLine = new kakao.maps.Polyline({
|
|
|
- strokeWeight: 5, // 선의 두께입니다
|
|
|
+ strokeWeight: arrowMap.get(_Level), // 선의 두께입니다
|
|
|
path: [headPosition, midPosition, endPosition],
|
|
|
strokeColor: stateColor, // 선의 색깔입니다
|
|
|
strokeOpacity: 1, // 선의 불투명도입니다 0에서 1 사이값이며 0에 가까울수록 투명합니다
|
|
|
@@ -1662,6 +1648,10 @@ class Ring{
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ setLineWidth() {
|
|
|
+ this.setOptions({strokeWeight : arrowMap.get(_Level)});
|
|
|
+ }
|
|
|
+
|
|
|
setState(color) {
|
|
|
if (this.polyLine) {
|
|
|
this.polyLine.setOptions({
|
|
|
@@ -1671,79 +1661,89 @@ class Ring{
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-const sigMap = new Map();
|
|
|
|
|
|
-class EmergencySig{
|
|
|
- constructor({clct_dt, service_id, node_id, node_nm, lat, lng, rem_dist, state, plan_class, a_ring_phase, b_ring_phase,
|
|
|
- hold_phase, a_flow_no, a_head_angle, a_end_angle, a_head_lat, a_head_lng, a_mid_lat, a_mid_lng, a_end_lat,
|
|
|
- a_end_lng, b_flow_no, b_head_angle, b_end_angle, b_head_lat, b_head_lng, b_mid_lat, b_mid_lng, b_end_lat,
|
|
|
- b_end_lng, seq_no}) {
|
|
|
- this.seq_no = seq_no;
|
|
|
- this.clct_dt = clct_dt;
|
|
|
+class EmergencyCircle{
|
|
|
+ constructor({service_id, seq_no, node_id, node_nm, lat, lng}) {
|
|
|
this.service_id = service_id;
|
|
|
+ this.seq_no = seq_no;
|
|
|
this.node_id = node_id;
|
|
|
this.node_nm = node_nm;
|
|
|
this.lat = lat;
|
|
|
this.lng = lng;
|
|
|
- this.rem_dist = rem_dist;
|
|
|
- this.state = state;
|
|
|
- this.plan_class = plan_class;
|
|
|
- this.a_ring_phase = a_ring_phase;
|
|
|
- this.b_ring_phase = b_ring_phase;
|
|
|
- this.hold_phase = hold_phase;
|
|
|
+ this.circle = null;
|
|
|
this.a_ring = null;
|
|
|
this.b_ring = null;
|
|
|
- this.circle = null;
|
|
|
- this.a_flow_no = a_flow_no;
|
|
|
- this.b_flow_no = b_flow_no;
|
|
|
- this.a_head_angle = a_head_angle;
|
|
|
- this.b_head_angle = b_head_angle;
|
|
|
- this.a_end_angle = a_end_angle;
|
|
|
- this.b_end_angle = b_end_angle;
|
|
|
- this.a_head_lat = a_head_lat;
|
|
|
- this.a_head_lng = a_head_lng;
|
|
|
- this.b_head_lat = b_head_lat;
|
|
|
- this.b_head_lng = b_head_lng;
|
|
|
- this.a_mid_lat = a_mid_lat;
|
|
|
- this.a_mid_lng = a_mid_lng;
|
|
|
- this.b_mid_lat = b_mid_lat;
|
|
|
- this.b_mid_lng = b_mid_lng;
|
|
|
- this.a_end_lat = a_end_lat;
|
|
|
- this.a_end_lng = a_end_lng;
|
|
|
- this.b_end_lat = b_end_lat;
|
|
|
- this.b_end_lng = b_end_lng;
|
|
|
this.init();
|
|
|
}
|
|
|
|
|
|
init() {
|
|
|
- let stateColor = '#FF0000';
|
|
|
- if (!isNaN(Number(this.state))) {
|
|
|
- stateColor = stateMap.get(Number(this.state));
|
|
|
- }
|
|
|
+ let stateColor = '#00FF00';
|
|
|
const position = getKakaoPosition(this.lat, this.lng);
|
|
|
+ const nodeNm = this.node_nm;
|
|
|
+ this.circle = new kakao.maps.Circle({
|
|
|
+ center : position, // 원의 중심좌표 입니다
|
|
|
+ radius: 60, // 미터 단위의 원의 반지름입니다
|
|
|
+ strokeWeight: arrowMap.get(_Level), // 선의 두께입니다
|
|
|
+ strokeColor: stateColor, // 선의 색깔입니다
|
|
|
+ strokeOpacity: 1, // 선의 불투명도 입니다 1에서 0 사이의 값이며 0에 가까울수록 투명합니다
|
|
|
+ strokeStyle: 'solid', // 선의 스타일 입니다
|
|
|
+ fillColor: stateColor, // 채우기 색깔입니다
|
|
|
+ fillOpacity: 0.3, // 채우기 불투명도 입니다
|
|
|
+ zIndex: 2,
|
|
|
+ name : nodeNm,
|
|
|
+ });
|
|
|
+ this.show();
|
|
|
+ }
|
|
|
|
|
|
- if (!sigMap.get(this.service_id + '_' + this.seq_no)) {
|
|
|
- this.circle = new kakao.maps.Circle({
|
|
|
- center : position, // 원의 중심좌표 입니다
|
|
|
- radius: 60, // 미터 단위의 원의 반지름입니다
|
|
|
- strokeWeight: 5, // 선의 두께입니다
|
|
|
- strokeColor: stateColor, // 선의 색깔입니다
|
|
|
- strokeOpacity: 1, // 선의 불투명도 입니다 1에서 0 사이의 값이며 0에 가까울수록 투명합니다
|
|
|
- strokeStyle: 'solid', // 선의 스타일 입니다
|
|
|
- fillColor: stateColor, // 채우기 색깔입니다
|
|
|
- fillOpacity: 0.3, // 채우기 불투명도 입니다
|
|
|
- zIndex: 2,
|
|
|
- name : '신호현시',
|
|
|
- });
|
|
|
- sigMap.set(this.lat + '_' + this.lng, this.circle);
|
|
|
+ show() {
|
|
|
+ if (this.circle) {
|
|
|
+ this.circle.setMap(map);
|
|
|
}
|
|
|
|
|
|
- this.createRing(this);
|
|
|
+ if (this.a_ring) {
|
|
|
+ this.a_ring.show();
|
|
|
+ }
|
|
|
|
|
|
- this.show();
|
|
|
+ if (this.b_ring) {
|
|
|
+ this.b_ring.show();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ hide() {
|
|
|
+ if (this.circle) {
|
|
|
+ this.circle.setMap(null);
|
|
|
+ }
|
|
|
+
|
|
|
+ this.deleteRing();
|
|
|
+ }
|
|
|
+
|
|
|
+ setState(state){
|
|
|
+ const stateColor = this.getStateColor(state);
|
|
|
+ if (this.circle) {
|
|
|
+ this.circle.setOptions({
|
|
|
+ strokeColor: stateColor,
|
|
|
+ fillColor : stateColor,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ getStateColor(state) {
|
|
|
+ let stateColor = '#FF0000';
|
|
|
+ if (!isNaN(Number(state))) {
|
|
|
+ stateColor = stateMap.get(Number(state));
|
|
|
+ }
|
|
|
+ return stateColor;
|
|
|
}
|
|
|
|
|
|
createRing(data) {
|
|
|
+ if (this.a_ring) {
|
|
|
+ this.a_ring.hide();
|
|
|
+ this.a_ring = null;
|
|
|
+ }
|
|
|
+ if (this.b_ring) {
|
|
|
+ this.b_ring.hide();
|
|
|
+ this.b_ring = null;
|
|
|
+ }
|
|
|
const stateArr = [1,2,4,5];
|
|
|
if (stateArr.includes(data.state)) {
|
|
|
this.a_ring = new Ring({
|
|
|
@@ -1782,108 +1782,30 @@ class EmergencySig{
|
|
|
|
|
|
this.a_ring.show();
|
|
|
this.b_ring.show();
|
|
|
+ this.setState(data.state);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- getStateColor(state) {
|
|
|
- let stateColor = '#FF0000';
|
|
|
- if (!isNaN(Number(state))) {
|
|
|
- stateColor = stateMap.get(Number(state));
|
|
|
- }
|
|
|
- return stateColor;
|
|
|
- }
|
|
|
-
|
|
|
- setState(state) {
|
|
|
- const stateColor = this.getStateColor(state);
|
|
|
+ setLineWidth() {
|
|
|
if (this.circle) {
|
|
|
- this.circle.setOptions({
|
|
|
- strokeColor: stateColor,
|
|
|
- fillColor : stateColor,
|
|
|
- });
|
|
|
+ this.circle.setOptions({strokeWeight : arrowMap.get(_Level)})
|
|
|
}
|
|
|
-
|
|
|
if (this.a_ring) {
|
|
|
- this.a_ring.setState(stateColor);
|
|
|
+ this.a_ring.setLineWidth()
|
|
|
}
|
|
|
|
|
|
if (this.b_ring) {
|
|
|
- this.b_ring.setState(stateColor);
|
|
|
+ this.b_ring.setLineWidth()
|
|
|
}
|
|
|
}
|
|
|
- show() {
|
|
|
- if (this.circle) {
|
|
|
- this.circle.setMap(map);
|
|
|
- }
|
|
|
-
|
|
|
- if (this.a_ring) {
|
|
|
- this.a_ring.show();
|
|
|
- }
|
|
|
-
|
|
|
- if (this.b_ring) {
|
|
|
- this.b_ring.show();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- hide() {
|
|
|
- if (this.circle) {
|
|
|
- this.circle.setMap(null);
|
|
|
- }
|
|
|
-
|
|
|
+ deleteRing() {
|
|
|
if (this.a_ring) {
|
|
|
this.a_ring.hide();
|
|
|
+ this.a_ring = null;
|
|
|
}
|
|
|
if (this.b_ring) {
|
|
|
this.b_ring.hide();
|
|
|
- }
|
|
|
-
|
|
|
- if (sigMap && sigMap.size) {
|
|
|
- sigMap.clear();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- setCenter() {
|
|
|
- map.setCenter(getKakaoPosition(this.lng, this.lat));
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-class EmergencyCircle{
|
|
|
- constructor({service_id, seq_no, node_id, node_nm, lat, lng}) {
|
|
|
- this.service_id = service_id;
|
|
|
- this.seq_no = seq_no;
|
|
|
- this.node_id = node_id;
|
|
|
- this.node_nm = node_nm;
|
|
|
- this.lat = lat;
|
|
|
- this.lng = lng;
|
|
|
- this.circle = null;
|
|
|
- }
|
|
|
-
|
|
|
- init() {
|
|
|
- let stateColor = '#FF0000';
|
|
|
- const position = getKakaoPosition(this.lat, this.lng);
|
|
|
-
|
|
|
- this.circle = new kakao.maps.Circle({
|
|
|
- center : position, // 원의 중심좌표 입니다
|
|
|
- radius: 60, // 미터 단위의 원의 반지름입니다
|
|
|
- strokeWeight: 5, // 선의 두께입니다
|
|
|
- strokeColor: stateColor, // 선의 색깔입니다
|
|
|
- strokeOpacity: 1, // 선의 불투명도 입니다 1에서 0 사이의 값이며 0에 가까울수록 투명합니다
|
|
|
- strokeStyle: 'solid', // 선의 스타일 입니다
|
|
|
- fillColor: stateColor, // 채우기 색깔입니다
|
|
|
- fillOpacity: 0.3, // 채우기 불투명도 입니다
|
|
|
- zIndex: 2,
|
|
|
- name : '신호현시',
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- show() {
|
|
|
- if (this.circle) {
|
|
|
- this.circle.setMap(map);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- hide() {
|
|
|
- if (this.circle) {
|
|
|
- this.circle.setMap(null);
|
|
|
+ this.b_ring = null;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -1904,9 +1826,10 @@ class EmergencyRoadObj{
|
|
|
this.kakaoPathArr.push(getKakaoPosition(obj.lat, obj.lng));
|
|
|
});
|
|
|
|
|
|
+ let strokeWidth = strokeMap.get(_Level);
|
|
|
this.backPolyLine = new kakao.maps.Polyline({
|
|
|
path: this.kakaoPathArr, // 선을 구성하는 좌표 배열입니다 클릭한 위치를 넣어줍니다
|
|
|
- strokeWeight: 10, // 선의 두께입니다
|
|
|
+ strokeWeight: strokeWidth, // 선의 두께입니다
|
|
|
strokeColor: '#ffffff', // 선의 색깔입니다
|
|
|
strokeOpacity: 1, // 선의 불투명도입니다 0에서 1 사이값이며 0에 가까울수록 투명합니다
|
|
|
strokeStyle: 'solid', // 선의 스타일입니다
|
|
|
@@ -1915,7 +1838,7 @@ class EmergencyRoadObj{
|
|
|
|
|
|
// 선이 그려지고 있을 때 마우스 움직임에 따라 선이 그려질 위치를 표시할 선을 생성합니다
|
|
|
this.polyLine = new kakao.maps.Polyline({
|
|
|
- strokeWeight: 8, // 선의 두께입니다
|
|
|
+ strokeWeight: strokeWidth - 2, // 선의 두께입니다
|
|
|
path: this.kakaoPathArr,
|
|
|
strokeColor: '#3386ff', // 선의 색깔입니다
|
|
|
strokeOpacity: 1, // 선의 불투명도입니다 0에서 1 사이값이며 0에 가까울수록 투명합니다
|
|
|
@@ -1927,6 +1850,11 @@ class EmergencyRoadObj{
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ setLineWidth() {
|
|
|
+ this.backPolyLine.setOptions({strokeWeight: strokeMap.get(_Level)})
|
|
|
+ this.polyLine.setOptions({strokeWeight: strokeMap.get(_Level) - 2})
|
|
|
+ }
|
|
|
+
|
|
|
show() {
|
|
|
if (this.backPolyLine) {
|
|
|
this.backPolyLine.setMap(map);
|