PageSourceSearch

https://appskorea.net/js/navermap.js?1789361064

js appskorea.net collected 2026-10-02 00:38:50 UTC 9,676 bytes, 329 lines download raw bytes

1var NAVERMAP = function(){
2	var oMap;
3	var currentMarker = "";
4	var cartMarker = "";
5	var mapId = "";
6	var isDrag = false;
7	var timer;
8	var dragBackTime = 600000;
9	var is_custom = true;
10	var mapOptions = {};
11	var markerOption = {};
12
13	var init = function(id, data){
14		mapId = id;
15		setMap(data)
16	};
17	var initGps = function(id, data){
18		mapId = id;
19		setMapGps(data)
20	};
21
22	function setMap(data){// 기본적인 맵 세팅
23
24		var mapSize = data[0].size;
25		var pointArray = [];
26		$.each(data, function(key, obj){
27			pointArray.push(obj.point);
28		});
29
30		if(typeof data[0].is_custom != 'undefined'){
31			is_custom = data[0].is_custom;
32		}
33		mapOptions = { // 맵 초기화 옵션들
34			center : pointArray[0],// 초기 지도의 센터 값 (지정한 위치)
35			size : mapSize,
36			zoom : 14,
37			zoomControl : true,//줌 컨트롤러 (버튼)
38			zoomControlOptions : {
39				style : naver.maps.ZoomControlStyle.SMALL, //LARGE | SMALL
40				image : '../img/m/map_zoom_in.png', //커스텀 이미지 사용 (커스텀 컨트롤러로 프로세스 구현)
41				position : naver.maps.Position.TOP_RIGHT //컨트롤러 위치
42			}
43		};
44		if(is_custom){
45			var locationBtnHtml = '<a href="#" class="btn" style="position: absolute; cursor: pointer; top: 75px; left: 11.4px; width: 28px; height: 28px; border-style: solid;border-width: 0px;"><span class="spr_trff spr_ico_mylct"><img src="../img/m/map_current_position2.png"></span></a>';// 현재위치 반환 버튼 html
46
47			var customControl = new naver.maps.CustomControl(locationBtnHtml, { //현재 위치 반환버튼 기능을 위한 커스텀 컨트롤러 설정
48				position : naver.maps.Position.TOP_RIGHT //줌 컨트롤러 아래에 위치
49			});
50
51			oMap = new naver.maps.Map(mapId, mapOptions);//맵 객체 선언
52
53			customControl.setMap(oMap);//커스텀 컨트롤러 추가
54			oMap.setOptions("scrollWheel", false); //스크롤 확대 축소 기능 on/off
55			oMap.setOptions("draggable", true);// 드래그 지도 이동 기능 on/off
56
57			var domEventListener = naver.maps.Event.addDOMListener(customControl.getElement(), 'click', function(){
58				navigator.geolocation.getCurrentPosition(
59					function(position){
60						var client_lat = position.coords.latitude;
61						var client_lng = position.coords.longitude;
62
63						var map_data = [{
64							'point' : new naver.maps.LatLng(client_lat, client_lng) //마커 설정을 위한 현재 위치 데이터
65						}];
66
67						var setPoint = map_data[0].point;
68						oMap.setCenter(setPoint); // 지오로케이션으로 반환 받은 현재 위치의 경도 , 위도를 맵 센터로 가도록 함
69						oMap.setZoom(14);
70
71						setMarker(map_data, 'current'); // 현재 위치 반환 시 마커 설정
72
73					});
74			});
75		}
76		setMarker(data, 'default');
77	}
78
79	function setMapGps(data){
80
81		var GpsMapOptions = {
82			center : data.point,
83			size : data.size,
84			zoom : 14,
85			zoomControl : true,//줌 컨트롤러 (버튼)
86			zoomControlOptions : {
87				style : naver.maps.ZoomControlStyle.SMALL, //LARGE | SMALL
88				image : '../img/m/map_zoom_in.png', //커스텀 이미지 사용 (커스텀 컨트롤러로 프로세스 구현)
89				position : naver.maps.Position.TOP_RIGHT //컨트롤러 위치
90			}
91		};
92
93		var currentPositionHtml = '<a href="#" class="btn" style="position: absolute; cursor: pointer; top: 75px; left: 11.4px; width: 28px; height: 28px; background-repeat: no-repeat; border-style: solid;border-width: 0px;"><span class="spr_trff spr_ico_mylct"><img src="../img/m/map_reload.png"></span></a>';
94
95		var customBtn = new naver.maps.CustomControl(currentPositionHtml, {
96			position : naver.maps.Position.TOP_RIGHT //줌 컨트롤러 아래에 위치
97		});
98
99		oMap = new naver.maps.Map(mapId, GpsMapOptions);
100
101		oMap.setOptions("scrollWheel", false); //스크롤 확대 축소 기능 on/off
102		oMap.setOptions("draggable", true);// 드래그 지도 이동 기능 on/off
103
104		customBtn.setMap(oMap);
105
106
107		var domEventListner = naver.maps.Event.addDomListener(customBtn.getElement(), 'click', function(){
108			data.point = cartMarker.getPosition();
109			updateMapGps(data, true);
110		});
111
112		updateMapGps(data, true);
113
114		checkUseDrag();
115
116	}
117
118	var updateMapGps = function(data, isRefresh){
119
120		if(!isDrag || isRefresh){
121			setMarker(data, 'car');
122			navigator.geolocation.getCurrentPosition(
123				function(position){
124					var client_lat = position.coords.latitude;
125					var client_lng = position.coords.longitude;
126
127					var pointArray = [];
128					pointArray.push(new naver.maps.LatLng(client_lat, client_lng));
129					pointArray.push(data.point);
130					oMap.fitBounds(pointArray);
131
132					var currentData = [{'point' : new naver.maps.LatLng(client_lat, client_lng)}];
133
134					setMarker(currentData, 'current');
135
136				}, function(error){
137				}
138			);
139		}
140
141	};
142
143	var getMap = function(){
144		return oMap;
145	};
146
147
148	function checkUseDrag(){
149		naver.maps.Event.addListener(oMap, 'dragstart', onDragStart, function(){
150			isDrag = true;
151
152			clearTimeout(timer);
153			timer = setTimeout(function(){
154				isDrag = false;
155			}, dragBackTime);
156
157		});
158
159		return isDrag;
160	}
161
162	var setMarker = function(markerData, type){
163
164		if(type == 'current'){ // 마커 옵션
165			var markerOptions = {
166				position : markerData[0].point,
167				icon : {
168					url : "../img/m/my_map_point.png"
169				}
170			};
171		}else if(type == 'car'){
172			var markerOptions = {
173				position : markerData[0].point,
174				icon : {
175					url : "../img/m/map_car_pin.png"
176				}
177			};
178		}else{
179			var markerOptions = {
180				position : markerData[0].point,
181				icon : {
182					url : "../img/m/map_point.png"
183				}
184			};
185
186		}
187		var marker = new naver.maps.Marker(markerOptions);
188		marker.setMap(oMap);
189
190		if(type == "current"){
191			var oInfoWnd = new naver.maps.InfoWindow({
192				position : markerData[0].point,
193				content : '내위치'
194			});
195
196			oInfoWnd.open(oMap, markerData.point);
197			window.setTimeout(function(){
198				oInfoWnd.close();
199			}, 1000);//정보창 시간 설정
200		}
201
202		if(type == 'car'){
203
204			if(cartMarker == ""){
205				var carmarkerOptions = {
206					position : markerData[0].point,
207					icon : {
208						url : "../img/m/map_car_pin.png"
209					}
210				};
211				var caroInfoWnd = new naver.maps.InfoWindow({
212					position : markerData[0].point,
213					content : 'car'
214				});
215
216				caroInfoWnd.open(oMap, markerData.point);
217				window.setTimeout(function(){
218					caroInfoWnd.close();
219				}, 1000);//정보창 시간 설정
220
221				cartMarker = new naver.maps.Marker(carmarkerOptions);
222			}
223
224			var markerPoint = cartMarker.getPosition();
225
226			if(markerPoint != null){
227
228				if((markerPoint.x != markerData.point.x) || (markerPoint.y != markerData.point.y)){
229					cartMarker.setPosition(markerData.point);
230				}
231
232			}else{
233				cartMarker.setPosition(markerData.point);
234				// oMap.addOverlay(cartMarker);
235			}
236
237		}else{
238			$.each(markerData, function(key, obj){
239				var markerPoint = obj.point;
240				if(type == 'current'){
241
242					if(currentMarker == ""){
243						var currentMarkerOptions = {
244							position : markerData[0].point,
245							icon : {
246								url : "../img/m/my_map_point.png"
247							}
248						};
249
250						var currentoInfoWnd = new naver.maps.InfoWindow({
251							position : markerData[0].point,
252							content : '내위치'
253						});
254
255						currentoInfoWnd.open(oMap, markerData.point);
256						window.setTimeout(function(){
257							currentoInfoWnd.close();
258						}, 1000);//정보창 시간 설정
259
260
261						currentMarker = new naver.maps.Marker(currentMarkerOptions);
262					}
263					currentMarker.setPosition(markerPoint);
264				}else{
265
266
267					var oMarker = new naver.maps.Marker(markerOptions);
268
269					oMarker.setPosition(markerPoint);
270
271					//라벨 정보
272					// oMarker.attach('click', function(oCustomEvent) {
273					//     oInfoWnd.setVisible(false);
274					//     if(oMarker.getCoveredMarkers().length == 1){
275					//         var map_link = "";
276					//         if(obj.link != "" && typeof obj.link != "undefined"){
277					//             map_link = "onClick=\"location.href='"+obj.link+"'\"";
278					//         }else if (obj.idx > 0){
279					//             map_link = "onClick=\"move_map_detail('"+obj.idx+"')\"";
280					//         }
281					//
282					//
283					//         var content = '<div class="cocoam_map_big_info_wrap '+(obj.img ? '' :'img_thumb')+'" '+map_link+'><div class="cocoam_map_big_info">'+
284					//             '<div class="cocoam_map_img">'+
285					//             '<img height="40" src="'+obj.img+'">'+
286					//             '</div>'+
287					//             (obj.tel==''?'<p class="line2 pt20 pr10">'+obj.name+'</p>':'<p class="line2">'+obj.name+'</p>')+
288					//             (obj.tel==''?'':'<p class="telnum">'+obj.tel+'</p>')+
289					//             '<span></span>'+
290					//             '</div></div>';
291					//
292					//
293					//         oInfoWnd.setContent(content);
294					//         oInfoWnd.setPoint(markerPoint);
295					//         oInfoWnd.setPosition({right : -62, top : 30});
296					//         oInfoWnd.setVisible(true);
297					//         oInfoWnd.autoPosition();
298					//     }else{
299					//         $.each(markerData,function(key,obj){
300					//             $("#"+mapId+" .nmap_duplayer a:Contains('"+obj.name+"')").off("
300click.map_group"+key).on("click.map_group"+key,function(){
301					//                 if(obj.link != "" && typeof obj.link != "undefined"){
302					//                     location.href=obj.link;
303					//                 }else if (obj.idx > 0){
304					//                     move_map_detail(obj.idx);
305					//                 }
306					//             });
307					//         });
308					//     }
309					// });
310				}
311			});
312		}
313	};
314
315	return {
316		init : function(id, data){
317			return init(id, data);
318		},
319		initGps : function(id, data){
320			return initGps(id, data);
321		},
322		getMap : function(){
323			return getMap();
324		},
325		updateMapGps : function(data){
326			return updateMapGps(data, false);
327		}
328	};
329}();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.