|
@@ -25,140 +25,107 @@ let COMPANY_CHECK_DUPLICATE = '/api/affl/check-duplicate';
|
25
|
25
|
let USER_INTI_USERPW = '/api/user/inti-userpw';
|
26
|
26
|
|
27
|
27
|
let kakaoMap = {
|
28
|
|
- view: function(locate) {
|
29
|
|
- kakao.maps.load(function() {
|
30
|
|
-
|
31
|
|
- var mapContainer = document.getElementById('ITP_FORM_OPER03010_VIEW_MAP'), // 지도를 표시할 div
|
32
|
|
- mapOption = {
|
33
|
|
- center: new kakao.maps.LatLng(37.56684, 126.97865), // 지도의 중심좌표
|
34
|
|
- level: 3, // 지도의 확대 레벨
|
35
|
|
- mapTypeId : kakao.maps.MapTypeId.ROADMAP // 지도종류
|
36
|
|
- };
|
37
|
|
-
|
38
|
|
- // 지도를 생성한다
|
39
|
|
- var map = new kakao.maps.Map(mapContainer, mapOption);
|
40
|
|
-
|
41
|
|
- // 마우스 휠과 모바일 터치를 이용한 지도 확대, 축소를 막는다
|
42
|
|
- map.setZoomable(false);
|
43
|
|
-
|
44
|
|
- // 지도에 확대 축소 컨트롤을 생성한다
|
45
|
|
- //var zoomControl = new kakao.maps.ZoomControl();
|
46
|
|
-
|
47
|
|
- // 지도의 우측에 확대 축소 컨트롤을 추가한다
|
48
|
|
- //map.addControl(zoomControl, kakao.maps.ControlPosition.RIGHT);
|
49
|
|
-
|
50
|
|
- // 주소-좌표 변환 객체를 생성합니다
|
51
|
|
- var geocoder = new kakao.maps.services.Geocoder();
|
52
|
|
- var map;
|
53
|
|
-
|
54
|
|
- if( !locate || locate.length == 0 ) {
|
55
|
|
- // 지도에 마커를 생성하고 표시한다
|
56
|
|
- marker = new kakao.maps.Marker({
|
57
|
|
- position: new kakao.maps.LatLng(37.56684, 126.97865), // 마커의 좌표
|
58
|
|
- map: map // 마커를 표시할 지도 객체
|
59
|
|
- });
|
60
|
|
- } else {
|
61
|
|
- // 주소로 좌표를 검색합니다
|
62
|
|
- geocoder.addressSearch(locate, function(result, status) {
|
63
|
|
- // 정상적으로 검색이 완료됐으면
|
64
|
|
- if (status === kakao.maps.services.Status.OK) {
|
65
|
|
-
|
66
|
|
- var coords = new kakao.maps.LatLng(result[0].y, result[0].x);
|
67
|
|
-
|
68
|
|
- // 결과값으로 받은 위치를 마커로 표시합니다
|
69
|
|
- marker = new kakao.maps.Marker({
|
70
|
|
- map: map,
|
71
|
|
- position: coords
|
72
|
|
- });
|
73
|
|
-
|
74
|
|
- // 지도의 중심을 결과값으로 받은 위치로 이동시킵니다
|
75
|
|
- map.setCenter(coords);
|
76
|
|
- }
|
77
|
|
- });
|
78
|
|
- }
|
79
|
|
- });
|
80
|
|
- },
|
81
|
|
- detail: function(locate) {
|
82
|
|
- kakao.maps.load(function() {
|
83
|
|
-
|
84
|
|
- var mapContainer = document.getElementById('ITP_FORM_OPER03010_DETAIL_MAP'), // 지도를 표시할 div
|
85
|
|
- mapOption = {
|
86
|
|
- center: new kakao.maps.LatLng(37.56684, 126.97865), // 지도의 중심좌표
|
87
|
|
- level: 3, // 지도의 확대 레벨
|
88
|
|
- mapTypeId : kakao.maps.MapTypeId.ROADMAP // 지도종류
|
89
|
|
- };
|
90
|
|
-
|
91
|
|
- // 지도를 생성한다
|
92
|
|
- var map = new kakao.maps.Map(mapContainer, mapOption);
|
93
|
|
-
|
94
|
|
- // 마우스 휠과 모바일 터치를 이용한 지도 확대, 축소를 막는다
|
95
|
|
- map.setZoomable(false);
|
96
|
|
-
|
97
|
|
- // 지도에 확대 축소 컨트롤을 생성한다
|
98
|
|
- //var zoomControl = new kakao.maps.ZoomControl();
|
99
|
|
-
|
100
|
|
- // 지도의 우측에 확대 축소 컨트롤을 추가한다
|
101
|
|
- //map.addControl(zoomControl, kakao.maps.ControlPosition.RIGHT);
|
102
|
|
-
|
103
|
|
- function searchDetailAddrFromCoords(coords, callback) {
|
104
|
|
- // 좌표로 법정동 상세 주소 정보를 요청합니다
|
105
|
|
- geocoder.coord2Address(coords.getLng(), coords.getLat(), callback);
|
106
|
|
- }
|
107
|
|
-
|
108
|
|
- // 주소-좌표 변환 객체를 생성합니다
|
109
|
|
- var geocoder = new kakao.maps.services.Geocoder();
|
110
|
|
- var map;
|
111
|
|
-
|
112
|
|
- if( !locate || locate.length == 0 ) {
|
113
|
|
- // 지도에 마커를 생성하고 표시한다
|
114
|
|
- marker = new kakao.maps.Marker({
|
115
|
|
- position: new kakao.maps.LatLng(37.56684, 126.97865), // 마커의 좌표
|
116
|
|
- map: map // 마커를 표시할 지도 객체
|
117
|
|
- });
|
118
|
|
- } else {
|
119
|
|
- // 주소로 좌표를 검색합니다
|
120
|
|
- geocoder.addressSearch(locate, function(result, status) {
|
121
|
|
- // 정상적으로 검색이 완료됐으면
|
122
|
|
- if (status === kakao.maps.services.Status.OK) {
|
123
|
|
-
|
124
|
|
- var coords = new kakao.maps.LatLng(result[0].y, result[0].x);
|
125
|
|
- document.getElementById('ITP_FORM_OPER03010_DETAIL_LAT').value = result[0].y;
|
126
|
|
- document.getElementById('ITP_FORM_OPER03010_DETAIL_LNG').value = result[0].x;
|
127
|
|
-
|
128
|
|
- // 결과값으로 받은 위치를 마커로 표시합니다
|
129
|
|
- marker = new kakao.maps.Marker({
|
130
|
|
- map: map,
|
131
|
|
- position: coords
|
132
|
|
- });
|
133
|
|
-
|
134
|
|
- // 지도의 중심을 결과값으로 받은 위치로 이동시킵니다
|
135
|
|
- map.setCenter(coords);
|
136
|
|
- }
|
137
|
|
- });
|
138
|
|
- }
|
139
|
|
-
|
140
|
|
- // 지도 드래깅 이벤트를 등록한다 (드래그 시작 : dragstart, 드래그 종료 : dragend)
|
141
|
|
- kakao.maps.event.addListener(map, 'drag', function () {
|
142
|
|
- searchDetailAddrFromCoords(map.getCenter(), function(result, status) {
|
143
|
|
- if (status === kakao.maps.services.Status.OK) {
|
144
|
|
-
|
145
|
|
- document.getElementById('ITP_FORM_OPER03010_DETAIL_LOTS_ADDRESS').value = result[0].address.address_name ;
|
146
|
|
- document.getElementById('ITP_FORM_OPER03010_DETAIL_CMPY_ADRES').value = !!result[0].road_address ? result[0].road_address.address_name : result[0].address.address_name ;
|
147
|
|
- document.getElementById('ITP_FORM_OPER03010_DETAIL_STREET_ADDRESS').value = !!result[0].road_address ? result[0].road_address.address_name : $('#ITP_FORM_OPER03010_DETAIL_STREET_ADDRESS').val();
|
148
|
|
- document.getElementById('ITP_FORM_OPER03010_DETAIL_CMPY_ZIPNO').value = !!result[0].road_address ? result[0].road_address.zone_no : $('#ITP_FORM_OPER03010_DETAIL_CMPY_ZIPNO').val() ;
|
149
|
|
- document.getElementById('ITP_FORM_OPER03010_DETAIL_LAT').value = map.getCenter().getLat();
|
150
|
|
- document.getElementById('ITP_FORM_OPER03010_DETAIL_LNG').value = map.getCenter().getLng();
|
151
|
|
-
|
152
|
|
- // 마커를 클릭한 위치에 표시합니다
|
153
|
|
- marker.setPosition(map.getCenter());
|
154
|
|
- marker.setMap(map);
|
155
|
|
- }
|
156
|
|
- });
|
157
|
|
- /* var message = '지도를 드래그 하고 있습니다. 지도의 중심 좌표는 ' + map.getCenter().toString() +' 입니다.';
|
|
28
|
+ init: function(id, locate) {
|
|
29
|
+ this.load(id, locate);
|
|
30
|
+ },
|
|
31
|
+ geocoder: null,
|
|
32
|
+ schDetailAddrFromCoords: function(coords, callback) {
|
|
33
|
+ // 좌표로 법정동 상세 주소 정보를 요청합니다
|
|
34
|
+ if(this.geocoder) {
|
|
35
|
+ this.geocoder.coord2Address(coords.getLng(), coords.getLat(), callback);
|
|
36
|
+ }
|
|
37
|
+ },
|
|
38
|
+ getMap: function(id) {
|
|
39
|
+ var mapContainer = document.getElementById(id), // 지도를 표시할 div
|
|
40
|
+ mapOption = {
|
|
41
|
+ center: new kakao.maps.LatLng(37.56684, 126.97865), // 지도의 중심좌표
|
|
42
|
+ level: 3, // 지도의 확대 레벨
|
|
43
|
+ mapTypeId : kakao.maps.MapTypeId.ROADMAP // 지도종류
|
|
44
|
+ };
|
|
45
|
+
|
|
46
|
+ // 지도를 생성한다
|
|
47
|
+ var map = new kakao.maps.Map(mapContainer, mapOption);
|
|
48
|
+
|
|
49
|
+ // 마우스 휠과 모바일 터치를 이용한 지도 확대, 축소를 막는다
|
|
50
|
+ map.setZoomable(false);
|
|
51
|
+
|
|
52
|
+ // 지도에 확대 축소 컨트롤을 생성한다
|
|
53
|
+ //var zoomControl = new kakao.maps.ZoomControl();
|
|
54
|
+
|
|
55
|
+ // 지도의 우측에 확대 축소 컨트롤을 추가한다
|
|
56
|
+ //map.addControl(zoomControl, kakao.maps.ControlPosition.RIGHT);
|
|
57
|
+
|
|
58
|
+ return map;
|
|
59
|
+ },
|
|
60
|
+ marker: function(map, coords) {
|
|
61
|
+ // 지도에 마커를 생성하고 표시한다
|
|
62
|
+ marker = new kakao.maps.Marker({
|
|
63
|
+ position: coords, // 마커의 좌표
|
|
64
|
+ map: map // 마커를 표시할 지도 객체
|
|
65
|
+ });
|
|
66
|
+ },
|
|
67
|
+ load: function(id, locate) {
|
|
68
|
+ var _this = this;
|
|
69
|
+ kakao.maps.load(function() {
|
|
70
|
+ var map = _this.getMap(id);
|
|
71
|
+ // 주소-좌표 변환 객체를 생성합니다
|
|
72
|
+ _this.geocoder = new kakao.maps.services.Geocoder();
|
|
73
|
+ if( !locate || locate.length == 0 ) {
|
|
74
|
+ // 지도에 마커를 생성하고 표시한다
|
|
75
|
+ _this.marker(map, new kakao.maps.LatLng(37.56684, 126.97865));
|
|
76
|
+ } else {
|
|
77
|
+ // 주소로 좌표를 검색합니다
|
|
78
|
+ _this.geocoder.addressSearch(locate, function(result, status) {
|
|
79
|
+ // 정상적으로 검색이 완료됐으면
|
|
80
|
+ if (status === kakao.maps.services.Status.OK) {
|
|
81
|
+
|
|
82
|
+ var coords = new kakao.maps.LatLng(result[0].y, result[0].x);
|
|
83
|
+ if(id === 'ITP_FORM_OPER04010_DETAIL_MAP') {
|
|
84
|
+ document.getElementById('ITP_FORM_OPER04010_DETAIL_LAT').value = result[0].y;
|
|
85
|
+ document.getElementById('ITP_FORM_OPER04010_DETAIL_LNG').value = result[0].x;
|
|
86
|
+ }
|
|
87
|
+
|
|
88
|
+ // 결과값으로 받은 위치를 마커로 표시합니다
|
|
89
|
+ _this.marker(map, coords);
|
|
90
|
+
|
|
91
|
+ // 지도의 중심을 결과값으로 받은 위치로 이동시킵니다
|
|
92
|
+ map.setCenter(coords);
|
|
93
|
+ } else {
|
|
94
|
+ _this.marker(map, new kakao.maps.LatLng(37.56684, 126.97865));
|
|
95
|
+ }
|
|
96
|
+ });
|
|
97
|
+ }
|
|
98
|
+
|
|
99
|
+ if(id === 'ITP_FORM_OPER04010_DETAIL_MAP') {
|
|
100
|
+ _this.listener.drag(map);
|
|
101
|
+ }
|
|
102
|
+ });
|
|
103
|
+ },
|
|
104
|
+ listener: {
|
|
105
|
+ drag: function(map) {
|
|
106
|
+ var _this = this;
|
|
107
|
+ // 지도 드래깅 이벤트를 등록한다 (드래그 시작 : dragstart, 드래그 종료 : dragend)
|
|
108
|
+ kakao.maps.event.addListener(map, 'drag', function () {
|
|
109
|
+ kakaoMap.schDetailAddrFromCoords(map.getCenter(), function(result, status) {
|
|
110
|
+ if (status === kakao.maps.services.Status.OK) {
|
|
111
|
+
|
|
112
|
+ document.getElementById('ITP_FORM_OPER04010_DETAIL_LOTS_ADDRESS').value = result[0].address.address_name ;
|
|
113
|
+ document.getElementById('ITP_FORM_OPER04010_DETAIL_ADRES').value = !!result[0].road_address ? result[0].road_address.address_name : result[0].address.address_name ;
|
|
114
|
+ document.getElementById('ITP_FORM_OPER04010_DETAIL_STREET_ADDRESS').value = !!result[0].road_address ? result[0].road_address.address_name : $('#ITP_FORM_OPER04010_DETAIL_STREET_ADDRESS').val();
|
|
115
|
+ document.getElementById('ITP_FORM_OPER04010_DETAIL_ZIPNO').value = !!result[0].road_address ? result[0].road_address.zone_no : $('#ITP_FORM_OPER04010_DETAIL_CMPY_ZIPNO').val() ;
|
|
116
|
+ document.getElementById('ITP_FORM_OPER04010_DETAIL_LAT').value = map.getCenter().getLat();
|
|
117
|
+ document.getElementById('ITP_FORM_OPER04010_DETAIL_LNG').value = map.getCenter().getLng();
|
|
118
|
+
|
|
119
|
+ // 마커를 클릭한 위치에 표시합니다
|
|
120
|
+ marker.setPosition(map.getCenter());
|
|
121
|
+ marker.setMap(map);
|
|
122
|
+ }
|
|
123
|
+ });
|
|
124
|
+ /* var message = '지도를 드래그 하고 있습니다. 지도의 중심 좌표는 ' + map.getCenter().toString() +' 입니다.';
|
158
|
125
|
console.log(message); */
|
159
|
|
- });
|
160
|
|
- });
|
161
|
|
- }
|
|
126
|
+ });
|
|
127
|
+ }
|
|
128
|
+ }
|
162
|
129
|
};
|
163
|
130
|
|
164
|
131
|
const gridColModel = {
|
|
@@ -526,7 +493,7 @@ let viewObj = {
|
526
|
493
|
$('#ITP_FORM_OPER03010_VIEW .fnAddDt').text(result.regDt);
|
527
|
494
|
$('#ITP_FORM_OPER03010_VIEW .fnChgDt').text(result.chgDt);
|
528
|
495
|
|
529
|
|
- kakaoMap.view(result.cmpyAdres);
|
|
496
|
+ kakaoMap.init('ITP_FORM_OPER03010_VIEW_MAP', result.cmpyAdres);
|
530
|
497
|
|
531
|
498
|
// 영업담당자정보 리스트 조회
|
532
|
499
|
viewObj.grid.load(result.saleList);
|
|
@@ -603,7 +570,7 @@ let modifyObj = {
|
603
|
570
|
$('#ITP_FORM_OPER03010_DETAIL .fnAddDt').text(result.regDt);
|
604
|
571
|
$('#ITP_FORM_OPER03010_DETAIL .fnChgDt').text(result.chgDt);
|
605
|
572
|
|
606
|
|
- kakaoMap.detail($('#ITP_FORM_OPER03010_DETAIL_CMPY_ADRES').val());
|
|
573
|
+ kakaoMap.init('ITP_FORM_OPER03010_DETAIL_MAP', $('#ITP_FORM_OPER03010_DETAIL_CMPY_ADRES').val());
|
607
|
574
|
|
608
|
575
|
// 영업담당자 리스트 조회
|
609
|
576
|
modifyObj.grid.load();
|
|
@@ -675,7 +642,7 @@ let createObj = {
|
675
|
642
|
this.load();
|
676
|
643
|
},
|
677
|
644
|
load: function() {
|
678
|
|
- kakaoMap.detail($('#ITP_FORM_OPER03010_DETAIL_STREET_ADDRESS').val());
|
|
645
|
+ kakaoMap.init('ITP_FORM_OPER03010_DETAIL_MAP', $('#ITP_FORM_OPER03010_DETAIL_STREET_ADDRESS').val());
|
679
|
646
|
|
680
|
647
|
// 영업담당자 리스트 조회
|
681
|
648
|
createObj.grid.load();
|
|
@@ -725,7 +692,7 @@ let createObj = {
|
725
|
692
|
document.getElementById('ITP_FORM_OPER03010_DETAIL_HJ_DONG').value = !!data.hname ? data.hname : data.bname;
|
726
|
693
|
document.getElementById('ITP_FORM_OPER03010_DETAIL_BJ_DONG').value = data.bname;
|
727
|
694
|
|
728
|
|
- kakaoMap.detail(data.roadAddress);
|
|
695
|
+ kakaoMap.init('ITP_FORM_OPER03010_DETAIL_MAP', data.roadAddress);
|
729
|
696
|
document.getElementById('ITP_FORM_OPER03010_DETAIL_CMPY_ADRES_DTL').focus();
|
730
|
697
|
}
|
731
|
698
|
}).open();
|