PageSourceSearch

https://dawulmap.com/js/map_copy.js

js dawulmap.com collected 2026-10-02 00:29:40 UTC 23,591 bytes, 659 lines download raw bytes

1var mapCopyMarker = null;
2var mapCopyLayer = null;
3
4function mapMarkerCopy() {   //type(0: poi , 1: extension)
5	if(mapCopyType=="address") {
6		copy_geoSearch();
7	}else if(mapCopyType=="poi") {
8		copy_poiSearch();
9	}else if(mapCopyType=="theme") {
10		copy_extensionSearch();
11	}
12	/** 190829_JIK **/
13	else if(mapCopyType=="grid"){
14		copy_gridSearch();
15	}else if(mapCopyType=="normal"){
16		var coords = mapCopyData2.split("_");
17		var zoomLevel = mapCopyData1;
18
19		if(mapCopyData3 != ""){
20			if(mapCopyData3 == "2" || mapCopyData3 == "3"){
21				//$("#mSetOnOff").attr("class","Mset on"); // 지도모드 버튼 on
22			}
23			baseMapChanges(mapCopyData3);
24		}
25		if(mapCopyData4 != ""){
26			//$("#mSetOnOff").attr("class","Mset on"); // 지도모드 버튼 on
27			
28			if(mapCopyData4.split("_").length == 0){
29				if(mapCopyData4.split("_")[0] == 1){
30					OverMapChange(map, L.Dawul.OVERMAP_JIJUK);
31					
32					$("#overJibun").attr("checked",true);
33				}else if(mapCopyData4.split("_")[0] == 2){
34					OverMapChange(map, L.Dawul.OVERMAP_DEVELOP);
35					themeJiguLayerDraw(true);
36					$("#overPlan").attr("checked",true);
37				}else if(mapCopyData4.split("_")[0] == 3){
38					OverMapChange(map, L.Dawul.OVERMAP_YONGDO);
39					
40					$("#overYongdo").attr("checked",true);
41				}else if(mapCopyData4.split("_")[0] == 4){
42					OverMapChange(map, L.Dawul.OVERMAP_CONTOUR2);
43					
44					$("#overGibok").attr("checked",true);
45				} 
46			}else{
47				for(var i = 0; i < mapCopyData4.split("_").length; i++){
48					//overlayMapChanges(mapCopyData4.split("_")[i]);
49					if(mapCopyData4.split("_")[i] == 1){
50						OverMapChange(map, L.Dawul.OVERMAP_JIJUK);
51						
52						$("#overJibun").attr("checked",true);
53					}else if(mapCopyData4.split("_")[i] == 2){
54						OverMapChange(map, L.Dawul.OVERMAP_DEVELOP);
55						themeJiguLayerDraw(true);
56						$("#overPlan").attr("checked",true);
57					}else if(mapCopyData4.split("_")[i] == 3){
58						OverMapChange(map, L.Dawul.OVERMAP_YONGDO);
59						
60						$("#overYongdo").attr("checked",true);
61					}else if(mapCopyData4.split("_")[i] == 4){
62						OverMapChange(map, L.Dawul.OVERMAP_CONTOUR2);
63						
64						$("#overGibok").attr("checked",true);
65					} 
66				}
67			}
68		}
69		if(mapCopyData5 != ""){
70			unifiedSearch(0,1);
71		}else{
72			map.invalidateSize(false); // 맵 갱신
73			map.setView(new L.LatLng(coords[0], coords[1]), zoomLevel); //지도 위치 이동  (좌표, 지도 레벨)
74			map.invalidateSize(false); // 맵 갱신
75		}
76		
77		if(mapCopyData6 != ""){
78			gridDisplay();
79		}
80		
81	}
82}
83
84function copy_geoSearch() {
85	var coords = mapCopyData2.split("_");
86	var adminType = "";
87	jHeader.serviceName = "REVERSE_GEOCODING";
88	revBody.point = coords[0]+","+coords[1];
89	revBody.selectFields.geoType = "ORIGIN";
90	revBody.adminType = mapCopyData1;
91	revBody.spatialOperation = "NEARBY";
92	
93	var jReqBody = {
94		"header" : jHeader,
95		"body" : revBody
96	};
97	
98	var dataString = "callback=?&req="+encodeURIComponent(objectToJSONString(jReqBody));
99	//console.log(jUrl+"?callback=?&req="+objectToJSONString(jReqBody));
100	$.ajax({
101		url:jUrl,
102		async:true,
103		type:'POST',
104		dataType:'jsonp',
105		data:dataString,
106		timeout : 200000,
107		error : function(d, textStatus, error){
108			alert("다시 실행해주시기 바랍니다. code:11 \n"+"getJSON failed : "+d+",  status: " + textStatus + ",  error: "+error);
109		},success: function(data, result){
110			if(data.body.geojson != undefined){
111				var listCount = data.body.geojson.features.length;
112				
113				for(var i=0; i<listCount; i++){
114					var feature = data.body.geojson.features[i];
115					var centerPoint = centerCoord("GRS_80",feature.geometry);
116					
117					// 레이어
118					mapCopyLayer = new L.GeoJSON(
119						feature, {
120							style : function() {
121								return {
122									weight: 2,
123									dashArray: '5, 5',
124									color : "#ff6e04",
125									opacity : 1,
126									fillColor : "#ff6e04",
127									fillOpacity : 0
128								};						
129							}
130						}).addTo(map);
131					
132					mapCopyLayer.on("mouseover", function(){
133						  this.setStyle({opacity:1, fillOpacity:0.2});
134					  });
135					mapCopyLayer.on("mouseout", function(){
136						  this.setStyle({opacity:1, fillOpacity:0});
137					  });
138					
139					// 마커
140					mapCopyMarker = new L.Marker(new L.LatLng(centerPoint.lat, centerPoint.lng),{icon: new L.Icon({   // 마커 찍기
141						iconUrl: "./images/pin/mpin_on.png",   //핀 이미지
142				    	iconAnchor: [14,33]  // 오프셋 (핀의 끝이 좌표로 매칭하기 위해 적용)
143					})}).addTo(map);
144					mapCopyMarker.bindPopup(tooltip.makeGeoContent(feature),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
145					
146					map.fitBounds(mapCopyLayer.getBounds(),{ padding: [100, 100] });   // 레이어 크기만큼 지도 레벨조정및 위치이동
147					mapCopyMarker.openPopup();
148				}
149			}
150		}
151	});
152}
153
154function copy_poiSearch() {
155	jHeader.serviceName = "POI";
156	poiBody.crs = "GRS_80";
157	poiBody.fulltext = "";
158	poiBody.field = [];
159	poiBody.field[0] = {};
160	poiBody.field[0].name = "mid";
161	poiBody.field[0].value = mapCopyData1;
162	delete poiBody.page;
163	delete poiBody.mbr;
164	var jReqBody = {
165		"header" : jHeader,
166		"body" : poiBody
167	};
168	
169	var dataString = "callback=?&req="+encodeURIComponent(objectToJSONString(jReqBody));
170	//console.log(jUrl+"?callback=?&req="+objectToJSONString(jReqBody));
171	//console.log(jUrl+"?"+dataString);
172	
173	$.ajax({
174		url:jUrl,
175		async:true,
176		type:'POST',
177		dataType:'jsonp',
178		data:dataString,
179		timeout : 200000,
180		error : function(d, textStatus, error){
181			alert("다시 실행해주시기 바랍니다. code:11 \n"+"getJSON failed : "+d+",  status: " + textStatus + ",  error: "+error);
182		},success: function(data, result){
183			if(data.body.geojson!=undefined) {
184				var countID = data.body.geojson.features.length;
185				
186				for(var i = 0; i<countID; i++){
187					var feature = data.body.geojson.features[i];
188
189					var lat = feature.geometry.coordinates[0];
190					var lng = feature.geometry.coordinates[1];
191					
192					mapCopyMarker = new L.Marker(new L.LatLng(lat , lng),{icon: new L.Icon({   // 마커 찍기
193				    	iconUrl: "./images/pin/mpin_on.png",   //핀 이미지
194				    	iconAnchor: [14,33]  // 오프셋 (핀의 끝이 좌표로 매칭하기 위해 적용)
195					})}).addTo(map);
196					
197					mapCopyMarker.feature = feature;
198					mapCopyMarker.bindPopup(tooltip.makePOIContent(feature),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
199					mapCopyMarker.on("click", function(){
200						for(var i=0; i<ncodeSearchMarker.length; i++) {
201							ncodeSearchMarker[i].popState = false;
202							ncodeSearchMarker[i].closePopup();
203						}
204						ncodeSelectMid = "";
205						
206						for(var i=0; i<jiguMarker.length; i++) {
207							jiguMarker[i].popState = false;
208							jiguMarker[i].closePopup();
209						}
210						jiguSelectMid = "";
211					});
212				}
213				map.setView(mapCopyMarker.getLatLng(), 12); //지도 위치 이동  (좌표, 지도 레벨)
214				mapCopyMarker.openPopup();
215			}else {
216				
217			}
218		}
219	});
220}
221
222
223function copy_extensionSearch() {
224	var contentName = tree_content_name[mapCopyData2];
225	
226	jHeader.serviceName = "EXTENSION_SEARCH";
227	extBody.conditions = {};
228	extBody.conditions.geometry = {};
229	extBody.conditions.geometry.spatialOp = "INTERSECT";
230	extBody.conditions.field = [];
231	extBody.conditions.field[extBody.conditions.field.length] = {};
232	extBody.conditions.field[extBody.conditions.field.length-1].name = tree_flag_name[mapCopyData2];
233	extBody.conditions.field[extBody.conditions.field.length-1].value = mapCopyData1;
234	extBody.contentName = contentName;
235	extBody.selectFields.geoType = "ORIGIN";
236	var jReqBody = {
237		"header" : jHeader,
238		"body" : extBody
239	};
240	delete poiBody.page;
241	var dataString = "callback=?&req="+encodeURIComponent(objectToJSONString(jReqBody));
242	//console.log(jUrl+"?callback=?&req="+objectToJSONString(jReqBody));
243	$.ajax({
244		url:jUrl,
245		type:'POST',
246		dataType:'jsonp',
247		data:dataString,
248		timeout : 200000,
249		async : false,
250		error : function(d, textStatus, error){
251			alert("다시 실행해주시기 바랍니다. code:11 \n"+"getJSON failed : "+d+",  status: " + textStatus + ",  error: "+error);
252		},success: function(data, result){
253			if(data.body.geojson!=undefined) {
254				var countID = data.body.geojson.features.length; // ID 개수
255
256				for ( var i = 0; i < countID; i++) {
257					var feature = data.body.geojson.features[i];
258					var x_pos = feature.properties.x_pos;
259					var y_pos = feature.properties.y_pos;
260					var geoWgs = Coord_Trans("utmktowgs", new PT(x_pos, y_pos));
261					mapCopyMarker = new L.Marker(new L.LatLng(geoWgs.y , geoWgs.x),{icon: new L.Icon({   // 마커 찍기
262				    	iconUrl: "./images/pin/mpin_on.png",   //핀 이미지
263				    	iconAnchor: [14,33]  // 오프셋 (핀의 끝이 좌표로 매칭하기 위해 적용)
264					})}).addTo(map);
265					mapCopyMarker.feature = feature;
266					mapCopyMarker.bindPopup(tooltip.themeContent(feature,mapCopyData2),{autoPan:true,minWidth:362,offset:[0,-20],'className':'dawul'});
267					mapCopyMarker.on("click",function(e) {
268						for(var i=0; i<ncodeSearchMarker.length; i++) {
269							ncodeSearchMarker[i].popState = false;
270							ncodeSearchMarker[i].closePopup();
271						}
272						ncodeSelectMid = "";
273						
274						for(var i=0; i<jiguMarker.length; i++) {
275							jiguMarker[i].popState = false;
276							jiguMarker[i].closePopup();
277						}
278						jiguSelectMid = "";
279					});
280					
281					if (feature.geometry.type == "Polygon") { // 3배열
282						var cntCoord = feature.geometry.coordinates.length;
283						for ( var j = 0; j < cntCoord; j++) {
284							var cntCoord2 = feature.geometry.coordinates[j].length;
285							for ( var k = 0; k < cntCoord2; k++) {
286								var UtmkX = feature.geometry.coordinates[j][k][0];
287								var UtmkY = feature.geometry.coordinates[j][k][1];
288								var geoWgs = Coord_Trans("utmktowgs", new PT(UtmkX, UtmkY));
289								feature.geometry.coordinates[j][k][0] = geoWgs.y;
290								feature.geometry.coordinates[j][k][1] = geoWgs.x;
291							}
292						}
293					}else if (feature.geometry.type == "MultiPolygon") { // 4배열
294						var cntCoord = feature.geometry.coordinates.length; // Coordinates 1차배열 개수
295						for ( var j = 0; j < cntCoord; j++) {
296							var cntCoord2 = feature.geometry.coordinates[j].length;
297
298							for ( var k = 0; k < cntCoord2; k++) {
299								var cntCoord3 = feature.geometry.coordinates[j][k].length;
300
301								for ( var l = 0; l < cntCoord3; l++) {
302									var UtmkX = feature.geometry.coordinates[j][k][l][0];
303									var UtmkY = feature.geometry.coordinates[j][k][l][1];
304									var geoWgs = Coord_Trans("utmktowgs", new PT(UtmkX, UtmkY));
305									feature.geometry.coordinates[j][k][l][0] = geoWgs.y;
306									feature.geometry.coordinates[j][k][l][1] = geoWgs.x;
307								}
308							}
309						}
310					}
311					if(contentName=="takji") {
312						mapCopyLayer = new L.GeoJSON(
313							feature, {
314								style : function() {
315									return {
316										color: '#08a65d',
317								        weight: 2,
318								        opacity: 1,
319								      	dashArray: '5, 5',
320								      	fill: true,
321								      	fillColor: '#08a65d',
322								      	fillOpacity: 0.2,
323								      	clickable : false
324					              	};
325								}
326						}).addTo(map);
327					}
327else if(contentName=="indoor") {
328						mapCopyLayer = new L.GeoJSON(
329							feature, {
330								style : function() {
331									return {
332										color: '#018ece',
333							            weight: 2,
334										dashArray: '5, 5',
335							            opacity: 1,
336							          	fill: true,
337							          	fillColor: '#018ece',
338							          	fillOpacity: 0.2,
339							          	clickable : false
340					              	};
341								}
342						}).addTo(map);
343					}
344				}
345				map.fitBounds(mapCopyLayer.getBounds(),{ padding: [100, 100] });   // 레이어 크기만큼 지도 레벨조정및 위치이동
346				mapCopyMarker.openPopup();
347			}
348		}
349	});
350}
351
352
353function mapCopyClear() {
354	if(mapCopyMarker!=null) {
355		map.removeLayer(mapCopyMarker);
356		mapCopyMarker = null;
357	}
358	
359	if(mapCopyLayer!=null) {
360		map.removeLayer(mapCopyLayer);
361		mapCopyLayer = null;
362	}
363	
364	/*while (bPoiSearchMarker.length>0) {
365		map.removeLayer(bPoiSearchMarker[bPoiSearchMarker.length - 1]);
366		bPoiSearchMarker.pop();
367	}
368	
369	while (bPoiSearchMarker.length>0) {
370		map.removeLayer(bPoiSearchMarker[bPoiSearchMarker.length - 1]);
371		bPoiSearchMarker.pop();
372	}*/
373}
374
375
376function outLink(type,data1,data2){
377	var level = map.getZoom();
378	var noParam = (location.href).split("?"); // get parameter 있을경우 제거
379	noParam = (noParam[0]).split("#"); // # 있을경우 제거
380	var link = noParam[0]+"?lan="+lan+"&type="+type+"&data1="+data1;
381	
382	if(data2!=null) {
383		link += "&data2="+data2;	
384	}
385	$("#mapCopyUrl").val(link);
386	$("#mapCopyPop").show();
387	
388    /*if (browser.name == 'msie') {
389         window.clipboardData.setData('Text', link);
390         alert('주소가 클립보드에 복사되었습니다.');
391    } else {
392        temp = prompt("이 지도의 주소입니다. Ctrl+C를 눌러 클립보드로 복사하세요.", link);
393    }*/
394}
395
396function outLink2(type, data1,data2, data3, data4, data5, data6){
397	var level = map.getZoom();
398	var noParam = (location.href).split("?"); // get parameter 있을경우 제거
399	noParam = (noParam[0]).split("#"); // # 있을경우 제거
400	
401	var mParameter = "";
402	//mParameter = "lan="+lan+"&type="+type+"&data1="+data1;
403	var link = noParam[0]+"?lan="+lan+"&type="+type+"&data1="+data1;
404	//var link = "";
405	
406	if(data2!=null) {
407		link += "&data2="+data2;	
408		//mParameter += "&data2="+data2;
409	}
410	if(data3!=""){
411		link += "&data3="+data3;
412		//mParameter += "&data3="+data3;
413	}
414	if(data4!=""){
415		var totalData4 = "";
416		for(var i = 0; i < data4.length; i++){
417			if((data4.length-1) == i){
418				totalData4 += data4[i];
419			}else{
420				totalData4 += data4[i] + "_";
421			}
422		}
423		link += "&data4="+totalData4;
424		//mParameter += "&data4="+totalData4;
425	}
426	if(data5!=""){
427		link += "&data5=" + data5;
428		//mParameter += "&data5=" + data5;
429	}
430	if(data6!=""){
431		link += "&data6=" + data6;
432		//mParameter += "&data5=" + data5;
433	}
434	
435	
436	//link = noParam[0] + "?"+ encodeURIComponent(mParameter);
437	
438	$("#mapCopyUrl").val(link);
439	$("#mapCopyPop").show();
440	
441    /*if (browser.name == 'msie') {
442         window.clipboardData.setData('Text', link);
443         alert('주소가 클립보드에 복사되었습니다.');
444    } else {
445        temp = prompt("이 지도의 주소입니다. Ctrl+C를 눌러 클립보드로 복사하세요.", link);
446    }*/
447}
448
449function mapCopyPopClose() {
450	$("#mapCopyPop").hide();
451}
452
453function mapCopy() {
454	$("#mapCopyUrl").select();
455	try {
456		// The important part (copy selected text) 
457		var successful = document.execCommand('copy'); 
458		// if(successful) answer.innerHTML = 'Copied!'; 
459		// else answer.innerHTML = 'Unable to copy!'; 
460		if(successful) {
461			if(lan=="KOR") {
462				alert("주소가 클립보드에 복사되었습니다.");
463			}else if(lan=="ENG") {
464				alert("The address has been copied to the clipboard.");
465			}else if(lan=="JAN") {
466				alert("住所がクリップボードにコピーされました。");
467			}else if(lan=="CHINAG") {
468				alert("该地址已被复制到剪贴板。");
469			}
470		}else {
471			if(lan=="KOR") {
472				alert("이 브라우저는 지원하지 않습니다.\n Ctrl+C를 눌러 클립보드로 복
472사하세요.");	
473			}else if(lan=="ENG") {
474				alert("This browser is not supported.\n Please press Ctrl+C to copy it to the clipboard.");
475			}else if(lan=="JAN") {
476				alert("このブラウザは支援していません。\n Ctrl+Cを押してクリップボードにコピーしてください。");
477			}else if(lan=="CHINAG") {
478				alert("此浏览器不受支持。\n 请按Ctrl+C将它复制到剪贴板。");
479			}
480		}
481	} catch (err) { 
482		if(lan=="KOR") {
483			alert("이 브라우저는 지원하지 않습니다.\n Ctrl+C를 눌러 클립보드로 복사하세요.");	
484		}else if(lan=="ENG") {
485			alert("This browser is not supported.\n Please press Ctrl+C to copy it to the clipboard.");
486		}else if(lan=="JAN") {
487			alert("このブラウザは支援していません。\n Ctrl+Cを押してクリップボードにコピーしてください。");
488		}else if(lan=="CHINAG") {
489			alert("此浏览器不受支持。\n 请按Ctrl+C将它复制到剪贴板。");
490		}
491	}
492}
493
494/** 190829_JIK **/
495function copy_gridSearch(){
496	gridAllClear(0);
497	
498	var coords = mapCopyData2.split("_");
499	
500	var gridCelldata = null;
501	var gridRevJibunData = null;
502	var gridRevRoadData = null;
503	
504	var url = infoSeedUrl1 +"coords="+ coords[0] +","+ coords[1] +"&key="+ infoSeedKey +"&display=full&lang=ko";
505	$.getJSON(url, function(data){
506		gridCelldata = data;
507		
508		jHeader.serviceName = "REVERSE_GEOCODING";
509		revBody.point = coords[0]+","+coords[1];
510		revBody.selectFields.geoType = "ORIGIN";
511		revBody.adminType = "JIBUN_ADDRESS";
512		revBody.spatialOperation = "INTERSECT";
513		
514		var jReqBody = {
515			"header" : jHeader,
516			"body" : revBody
517		};
518		
519		var dataString = "callback=?&req="+ encodeURIComponent(objectToJSONString(jReqBody));
520		$.ajax({
521			url:jUrl,
522			async:true,
523			type:'POST',
524			dataType:'jsonp',
525			data:dataString,
526			timeout : 200000,
527			error : function(d, textStatus, error){
528				alert("다시 실행해주시기 바랍니다. code:11 \n"+"getJSON failed : "+d+",  status: " + textStatus + ",  error: "+error);
529			},success: function(data, result){
530				gridRevJibunData = data;
531				
532				var properties = gridRevJibunData.body.geojson.features[0].properties;
533				
534				jHeader.serviceName = "REVERSE_GEOCODING";
535				revBody.point = coords[0] +","+ coords[1];
536				revBody.selectFields.geoType = "ORIGIN";
537				revBody.adminType = "ROAD_ADDRESS";
538				revBody.spatialOperation = "INTERSECT";
539				
540				var jReqBody = {
541					"header" : jHeader,
542					"body" : revBody
543				};
544				
545				var dataString = "callback=?&req= "+encodeURIComponent(objectToJSONString(jReqBody));
546				$.ajax({
547					url:jUrl,
548					async:true,
549					type:'POST',
550					dataType:'jsonp',
551					data:dataString,
552					timeout : 200000,
553					error : function(d, textStatus, error){
554						alert("다시 실행해주시기 바랍니다. code:11 \n"+"getJSON failed : "+d+",  status: " + textStatus + ",  error: "+error);
555					},success: function(data, result){
556						gridCellClear();
557						
558						gridRevRoadData = data;
559						
560						var middleCnt = middleCoords.size();
561						if(middleNames.get("middleInput0")==null) {
562							middleCnt = 0;
563						}else if(middleNames.get("middleInput1")==null) {
564							middleCnt = 1;
565						}else if(middleNames.get("middleInput2")==null) {
566							middleCnt = 2;
567						}else if(middleNames.get("middleInput3")==null) {
568							middleCnt = 3;
569						}else if(middleNames.get("middleInput4")==null) {
570							middleCnt = 4;
571						}
572						
573						var content1 = "["+ gridCelldata.gridaddress.cityname +"] "+ gridCelldata.gridaddress.gridword +"." +gridCelldata.gridaddress.cellcode;
574						var content2 = "";
575						var content3 = "";
576						var content4 = "";
577						
578						var html_  = "";
579						html_ += '<div class="tooltip t_size" style="opacity: 0.83;">';
580						html_ += '<div class="t_bx">';
581						html_ += '<div class="info i_size2 clear">';
582						html_ += '<h3 class="clear">';
583						html_ += '<span class="title3">'+ content1 +'</span>';
584						html_ += '</h3>';
585						var bodyLength = Object.keys(gridRevRoadData.body).length;
586						if(bodyLength > 0){
587							content2 = gridRevRoadData.body.geojson.features[0].properties.newrpnuname;
588							content3 = gridRevRoadData.body.geojson.features[0].properties.pnuname;
589							content4 = gridRevRoadData.body.geojson.features[0].properties.buildname;
590							
591							html_ += '<ul class="con">';
592							html_ += '<li class="txt2">도로명 : '+ content2 +'</li>';
593							html_ += '<li class="txt2">지번 : '+ content3 +'</li>';
594							html_ += '<li class="txt2">'+ content4 +'</li>';
595							html_ += '</ul>';
596							html_ += '<ul class="t_btn2 clear">';
597							html_ += '<li class="btn_B"><a href="#" onclick="naviChoice(\'startInput\','+ coords[0] +','+ coords[1] +',\''+ content1 +'\');">출발</a></li>';
598							html_ += '<li class="btn_B"><a href="#" onclick="naviChoice(\'middleInput'+ middleCnt +'\','+ coords[0] +','+ coords[1] +',\''+ content1 +'\');">경유</a></li>';
599							html_ += '<li class="btn_B"><a href="#" onclick="naviChoice(\'endInput\','+ coords[0] +','+ coords[1] +',\''+ content1 +'\');">도착</a></li>';
600							html_ += '</ul>';
601							html_ += '<ul class="t_btn3 clear">';
602							html_ += '<li class="btn_B"><a href="#" onclick="outLink(\'grid\',\'ROAD_ADDRESS\',\''+ coords[0] +'_'+ coords[1] +'\');");">지도복사</a></li>';
603							html_ += '</ul>';
604						}else{
605							content2 = gridRevJibunData.body.geojson.features[0].properties.pnuname;
606							
607							html_ += '<ul class="con">';
608							html_ += '<li class="txt2">지번 : '+ content2 +'</li>';
609							html_ += '</ul>';
610							html_ += '<ul class="t_btn2 clear">';
611							html_ += '<li class="btn_B"><a href="#" onclick="naviChoice(\'startInput\','+ coords[0] +','+ coords[1] +',\''+ content1 +'\');">출발</a></li>';
612							html_ += '<li class="btn_B"><a href="#" onclick="naviChoice(\'middleInput'+ middleCnt +'\','+ coords[0] +','+ coords[1] +',\''+ content1 +'\');">경유</a></li>';
613							html_ += '<li class="btn_B"><a href="#" onclick="naviChoice(\'endInput\','+ coords[0] +','+ coords[1] +',\''+ content1 +'\');">도착</a></li>';
614							html_ += '</ul>';
615							html_ += '<ul class="t_btn3 clear">';
616							html_ += '<li class="btn_B"><a href="#" onclick="outLink(\'grid\',\'JIBUN_ADDRESS\',\''+ coords[0] +'_'+ coords[1] +'\');");");">지도복사</a></li>';
617							html_ += '</ul>';
618						}
619						html_ += '</div>';
620						html_ += '</div>';
621						html_ += '<div class="t_arrow"></div>';
622						html_ += '<!-- 닫기 버튼 --><div class="t_close"><span><a href="#" onclick="gridTooltipClose();"></a></span></div>';
623						html_ += '</div>';
624						
625						gridTooltip = L.popup({
626							autoPanPaddingBottomRight:[75,0], offset:[-32,27.5],minWidth:168, keepInView:false, autoPan:true, closeButton:false, 'className':'dawul'
627						});
628						gridTooltip.setContent(html_); // 팝업창 내용
629						gridTooltip.setLatLng([coords[0], coords[1]]); // 팝업창 좌표
630						gridTooltip.addTo(map);
631						
632						var maxx = gridCelldata.gridbounds.maxx;
633						var maxy = gridCelldata.gridbounds.maxy;
634						var minx = gridCelldata.gridbounds.minx;
635						var miny = gridCelldata.gridbounds.miny;
636						
637						var maxCoordi = new Array();
638						maxCoordi.push(maxy);
639						maxCoordi.push(maxx);
640						var minCoordi = new Array();
641						minCoordi.push(miny);
642						minCoordi.push(minx);
643						
644						var bounds = new Array();
645						bounds.push(maxCoordi);
646						bounds.push(minCoordi);
647						
648						gridCellRectangleArr.push(L.rectangle(bounds, {fillColor:"#F7941D",fillOpacity:0.4,color: "#F7941D", weight: 4, opacity: 1}).addTo(map));
649						gridCellRectangleArr[gridCellRectangleArr.length-1].bounds = bounds;
650						gridCellRectangleArr[gridCellRectangleArr.length-1].on("click",function(e) {
651							gridTooltip.addTo(map);
652						});
653						map.fitBounds(bounds);
654					}
655				});
656			}
657		});
658	});
659}

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.