요구하다('모듈:글로벌 없음) 현지의 p = {} 현지의 취득하다 = 요구하다('모듈:인수').취득하다 현지의 기능. 둥글다(n, 소수점) 현지의 전원 = 10^(소수점 또는 0) 돌아가다 math.floor(n * 전원 + 0.5) / 전원 끝. 기능. p.getMapParams(지도, 틀) 한다면 것은 아니다. 지도 그리고나서 에러('사용할 위치 지도 정의의 이름을 지정해야 합니다.', 2) 끝. 현지의 모듈 제목 = 음.직함.신규('모듈:위치 지도/데이터/' .. 지도) 한다면 것은 아니다. 모듈 제목 그리고나서 에러(string.format('%q는 위치 지도 정의에 대한 올바른 이름이 아닙니다.', 지도), 2) 그렇지 않으면 모듈 제목.존재한다 그리고나서 현지의 지도 데이터 = 음.로드 데이터('모듈:위치 지도/데이터/' .. 지도) 돌아가다 기능.(이름., 파라미터) 한다면 이름. == 제로 그리고나서 돌아가다 '모듈:위치 지도/데이터/' .. 지도 그렇지 않으면 지도 데이터[이름.] == 제로 그리고나서 돌아가다 '' 그렇지 않으면 파라미터 그리고나서 돌아가다 음.메세지.new Raw Message(스트링(지도 데이터[이름.]), 개봉하다(파라미터)):평지() 또 다른 돌아가다 지도 데이터[이름.] 끝. 끝. 또 다른 에러('지정된 위치 지도 정의를 찾을 수 없습니다. "모듈:위치 지도/데이터/' .. 지도 .. ''가 존재하지 않습니다., 2) 끝. 끝. 기능. p.데이터.(틀, args, 지도) 한다면 것은 아니다. args 그리고나서 args = 취득하다(틀, {프레임만 = 진실의}) 끝. 한다면 것은 아니다. 지도 그리고나서 지도 = p.getMapParams(args[1], 틀) 끝. 현지의 파라미터 = {} 위해서 k,v 에서 아이페어(args) 하다 한다면 k > 2 그리고나서 파라미터[k-2] = v 끝. 끝. 돌아가다 지도(args[2], #파라미터 ~= 0 그리고. 파라미터) 끝. 현지의 반구 멀티플라이어 = { 경도 = { W = -1, w = -1, E = 1, e = 1 }, 위도 = { S = -1, s = -1, N = 1, n = 1 } } 현지의 기능. 인식하다(도, 회의록, 초수, 반구, 십진수, 방향) 한다면 십진수 그리고나서 한다면 도 그리고나서 에러('에 대해 10진수와 DMS 학위를 모두 제공할 수 없습니다.' .. 방향, 2) 그렇지 않으면 회의록 그리고나서 에러('의 경우 DMS 학위로만 의사록을 제공할 수 있습니다.' .. 방향, 2) 그렇지 않으면 초수 그리고나서 에러('초수는 '의 DMS 도수로만 제공 가능' .. 방향, 2) 그렇지 않으면 반구 그리고나서 에러('반구에는 다음 DMS 학위만 부여됩니다.' .. 방향, 2) 끝. 현지의 회수하다 = 톤수(십진수) 한다면 회수하다 그리고나서 돌아가다 회수하다 끝. 에러('가치' .. 십진수 .. 에 대해 ''가 제공되었습니다. .. 방향 .. '는 유효하지 않습니다., 2) 그렇지 않으면 초수 그리고. 것은 아니다. 회의록 그리고나서 에러('초'가 제공되었습니다. .. 방향 .. 회의록도 제공되지 않습니다., 2) 그렇지 않으면 것은 아니다. 도 그리고나서 한다면 회의록 그리고나서 에러('의 회의록이 제공되었습니다. .. 방향 .. 학위도 제공되지 않습니다., 2) 그렇지 않으면 반구 그리고나서 에러('반구가 제공되었습니다' .. 방향 .. 학위도 제공되지 않습니다., 2) 끝. 돌아가다 제로 끝. 십진수 = 톤수(도) 한다면 것은 아니다. 십진수 그리고나서 에러('도 값' .. 도 .. 에 대해 ''가 제공되었습니다. .. 방향 .. '는 유효하지 않습니다., 2) 그렇지 않으면 회의록 그리고. 것은 아니다. 톤수(회의록) 그리고나서 에러('분값' .. 회의록 .. 에 대해 ''가 제공되었습니다. .. 방향 .. '는 유효하지 않습니다., 2) 그렇지 않으면 초수 그리고. 것은 아니다. 톤수(초수) 그리고나서 에러('두 번째 값' .. 초수 .. 에 대해 ''가 제공되었습니다. .. 방향 .. '는 유효하지 않습니다., 2) 끝. 십진수 = 십진수 + (회의록 또는 0)/60 + (초수 또는 0)/3600 한다면 반구 그리고나서 현지의 승수 = 반구 멀티플라이어[방향][반구] 한다면 것은 아니다. 승수 그리고나서 에러('반구' .. 반구 .. 에 대해 ''가 제공되었습니다. .. 방향 .. '는 유효하지 않습니다., 2) 끝. 십진수 = 십진수 * 승수 끝. 돌아가다 십진수 끝. -- {Coord}의 변환에서 파라미터를 찾습니다. 현지의 기능. 좌표 2텍스트(패러,조정하다) --아랍 숫자나 도 기호를 사용하지 않는 언어에서는 이를 변경해야 합니다. 현지의 위도, 긴 = 음.스트링.경기(조정하다,'<span class="p%-위도">([^<]+)</span><span class="p%-위도">([^<]+)<span>') 한다면 위도 그리고나서 돌아가다 톤수(패러 == '실패' 그리고. 긴 또는 위도) 끝. 현지의 결과 = 음.본문.분열되다(음.스트링.경기(조정하다,'%-[%d]+°[NS] %-[%%d]+°[EW]') 또는 '', '[ °]') 한다면 패러 == '실패' 그리고나서 결과 = {결과[3], 결과[4]} 끝. 한다면 것은 아니다. 톤수(결과[1]) 또는 것은 아니다. 결과[2] 그리고나서 음.로그.('잘못된 좌표 값') 음.log Object(로그 오브젝트)(패러, '실패') 음.log Object(로그 오브젝트)(조정하다, '실패') 돌아가다 에러('잘못된 좌표 값', 2) 끝. 돌아가다 톤수(결과[1]) * 반구 멀티플라이어[패러][결과[2]] 끝. -- removeBlanks를 캡션과 맵링크에 대해 false로 하고 다른 모든 것에 대해 true로 만듭니다. -- useWikidata가 존재하지만 공백인 경우 0이 아닌 false로 변환합니다. -- p.top, p.bottom 및 발신자는 이 주소를 사용해야 합니다. 기능. p.값 펑크(열쇠, 가치) 한다면 가치 그리고나서 가치 = 음.본문.다듬다(가치) 끝. 한다면 가치 ~= '' 또는 열쇠 == '실패' 또는 열쇠 == '맵링크' 그리고나서 돌아가다 가치 그렇지 않으면 열쇠 == '위키다타 사용' 그리고나서 돌아가다 거짓의 끝. 끝. 현지의 기능. get Container 이미지(args, 지도) 한다면 args.Alternative Map(대체 지도) 그리고나서 돌아가다 args.Alternative Map(대체 지도) 그렇지 않으면 args.안도 그리고. 지도('image1') ~= '' 그리고나서 돌아가다 지도('image1') 또 다른 돌아가다 지도('이미지) 끝. 끝. 기능. p.정상(틀, args, 지도) 한다면 것은 아니다. args 그리고나서 args = 취득하다(틀, {프레임만 = 진실의, 값 펑크 = p.값 펑크}) 끝. 한다면 것은 아니다. 지도 그리고나서 지도 = p.getMapParams(args[1], 틀) 끝. 현지의 폭 현지의 default_as_number = 톤수(음.스트링.경기(스트링(args.default_width(디폴트 폭)),%d*)) 한다면 것은 아니다. args.폭 그리고나서 폭 = 둥글다((default_as_number 또는 240) * (톤수(지도('디폴트 스케일')) 또는 1)) 그렇지 않으면 음.스트링.후보선수(args.폭, -2) == 'px' 그리고나서 폭 = 음.스트링.후보선수(args.폭, 1, -3) 또 다른 폭 = args.폭 끝. 현지의 너비_as_number = 톤수(음.스트링.경기(스트링(폭),%d*)) 또는 0; 한다면 너비_as_number == 0 그리고나서 -- 너비가 정크인지 확인합니다.이 경우 기본 계산을 사용합니다. 폭 = 둥글다((default_as_number 또는 240) * (톤수(지도('디폴트 스케일')) 또는 1)) 너비_as_number = 톤수(음.스트링.경기(스트링(폭),%d*)) 또는 0; 끝. 한다면 args.최대 폭 ~= "" 그리고. args.최대 폭 ~= 제로 그리고나서 -- 너비가 max_width보다 큰지 확인합니다. 현지의 max_as_number(최대수) = 톤수(음.스트링.경기(args.최대 폭,%d*)) 또는 0; 한다면 너비_as_number>max_as_number(최대수) 그리고. max_as_number(최대수)>0 그리고나서 폭 = args.최대 폭; 끝. 끝. 현지의 회수하다 = 틀:확장 태그{이름. = '패턴 스타일', args = {src = '모듈:위치 지도/스타일.css'}} 한다면 args.흘러가다 == '중앙' 그리고나서 회수하다 = 회수하다 .. '<div class="center">' 끝. 한다면 args.표제 그리고. args.표제 ~= '' 그리고. args.경계 ~= '정보 상자' 그리고나서 회수하다 = 회수하다 .. '<div class="locmap noviewer 썸' 한다면 args.흘러가다 == '왼쪽' 또는 args.흘러가다 == '왼쪽 그리고나서 회수하다 = 회수하다 .. '왼쪽 그렇지 않으면 args.흘러가다 == '중앙' 또는 args.흘러가다 == '중앙' 또는 args.흘러가다 == '없음' 또는 args.흘러가다 == '없음' 그리고나서 회수하다 = 회수하다 .. '없음' 또 다른 회수하다 = 회수하다 .. '트레이' 끝. 회수하다 = 회수하다 .. '''><div class="classinner" style="width:" .. (폭 + 2) .. 'px' 한다면 args.경계 == '없음' 그리고나서 회수하다 = 회수하다 .. ';보더:없음' 그렇지 않으면 args.경계 그리고나서 회수하다 = 회수하다 .. ';border-color: ' .. args.경계 끝. 회수하다 = 회수하다 .. ''><div style='' 위치:폭;폭:' .. 폭 .. 'px' .. (args.경계 ~= '없음' 그리고. '; border: 1px 솔리드 라이트 그레이'> 또는 ''>') 또 다른 회수하다 = 회수하다 .. '<div class="locmap" style="width:" .. 폭 .. 'px;' 한다면 args.흘러가다 == '왼쪽' 또는 args.흘러가다 == '왼쪽 그리고나서 회수하다 = 회수하다 .. '클리어: 왼쪽; 클리어: 왼쪽' 그렇지 않으면 args.흘러가다 == '중앙' 또는 args.흘러가다 == '중앙' 그리고나서 회수하다 = 회수하다 .. 'both:none;clear:both;contract-left:auto;contract-right:auto' 그렇지 않으면 args.흘러가다 == '없음' 또는 args.흘러가다 == '없음' 그리고나서 회수하다 = 회수하다 .. '파일:없음; 클리어:없음' 또 다른 회수하다 = 회수하다 .. '오른쪽; 지우기:오른쪽' 끝. 회수하다 = 회수하다 .. ''><div style=''width:' .. 폭 .. 'px;parames:0"><div style="위치:parames;width:" .. 폭 .. 'px'>' 끝. 현지의 이미지 = get Container 이미지(args, 지도) 현지의 current Title(현재 제목) = 음.직함.get Current Title(전류 제목)() 회수하다 = string.format( '%s[파일:%s %spx %s%s 클래스=notpageimage]', 회수하다, 이미지, 폭, args.알트 또는 ((args.라벨. 또는 current Title(현재 제목).본문) .. 는 에 있습니다. .. 지도(이름)), args.맵링크 그리고. ('link=' .. args.맵링크) 또는 '' ) 한다면 args.표제 그리고. args.표제 ~= '' 그리고나서 한다면 (current Title(현재 제목).네임스페이스 == 0) 그리고. 음.스트링.발견하다(args.표제, '##') 그리고나서 회수하다 = 회수하다 .. '[카테고리:표제에 이중 숫자 기호가 있는 위치 지도를 사용하는 페이지]' 끝. 끝. 한다면 args.overlay_image 그리고나서 돌아가다 회수하다 .. '<div style=" position:absolute;top:0;left:0">[파일:] .. args.overlay_image .. ' ' .. 폭 .. 'px class=not pageimage]</div>' 또 다른 돌아가다 회수하다 끝. 끝. 기능. p.맨 아래(틀, args, 지도) 한다면 것은 아니다. args 그리고나서 args = 취득하다(틀, {프레임만 = 진실의, 값 펑크 = p.값 펑크}) 끝. 한다면 것은 아니다. 지도 그리고나서 지도 = p.getMapParams(args[1], 틀) 끝. 현지의 회수하다 = '/div>' 현지의 current Title(현재 제목) = 음.직함.get Current Title(전류 제목)() 한다면 것은 아니다. args.표제 또는 args.경계 == '정보 상자' 그리고나서 한다면 args.경계 그리고나서 회수하다 = 회수하다 .. '<div style="syslog-top:0.2em">' 또 다른 회수하다 = 회수하다 .. '<div style="param-size:91%;param-top:3px">' 끝. 회수하다 = 회수하다 .. (args.표제 또는 (args.라벨. 또는 current Title(현재 제목).본문) .. ' (' .. 지도(이름) .. ')') .. '/div>' 그렇지 않으면 args.표제 ~= '' 그리고나서 파이프 트릭이 아닙니다.CSS에서 좋은 이미지를 얻을 수 있도록 일부러 텍스트 없이 링크를 만듭니다. 회수하다 = 회수하다 .. '<div class="caption"><div class="magnify">[:파일: ' .. get Container 이미지(args, 지도) .. ' class = not page image ]] [/div >' .. args.표제 .. '/div>' 끝. 한다면 args.스위처 라벨 그리고나서 회수하다 = 회수하다 .. '<span class="class-label" style="display:none">' .. args.스위처 라벨 .. '</span>' 그렇지 않으면 args.autoSwitcherLabel 그리고나서 회수하다 = 회수하다 .. '<span class="class-label" style="display:none">의 맵을 표시하다 .. 지도(이름) .. '</span>' 끝. 회수하다 = 회수하다 .. '/div> </div> 한다면 args.caption_captions(캡션)_captions 그리고나서 음.로그.('제거된 매개 변수 캡션_정의되지 않은 사용됨.') 현지의 부모 = 틀:부모 취득() 한다면 부모 그리고나서 음.로그.('부모님은' .. 부모:getTitle(제목)()) 끝. 음.log Object(로그 오브젝트)(args, 's') 한다면 current Title(현재 제목).네임스페이스 == 0 그리고나서 회수하다 = 회수하다 .. '[카테고리:파라미터 caption_undefined]가 삭제된 위치 맵' 끝. 끝. 한다면 지도('ww') ~= '' 또는 지도('lat_latw') ~= '' 또는 지도('180') ~= '' 또는 지도('타입') ~= '' 그리고나서 음.로그.('지도 정의에 사용된 매개 변수가 제거되었습니다.' .. 지도()) 한다면 current Title(현재 제목).네임스페이스 == 0 그리고나서 현지의 열쇠 = (지도('ww') ~= '' 그리고. 'ww' 또는 '') .. (지도('lat_latw') ~= '' 그리고. 'lat_latw' 또는 '') .. (지도('180') ~= '' 그리고. '180' 또는 '') .. (지도('타입') ~= '' 그리고. '타입' 또는 '') 회수하다 = 회수하다 .. '[카테고리:파라미터가 삭제된 위치 맵' .. 열쇠 .. ' ]]' 끝. 끝. 한다면 string.find(지도(이름), ' ', 1, 진실의) 그리고나서 음.로그.('지도 정의 이름에 사용되는 파이프' .. 지도()) 한다면 current Title(현재 제목).네임스페이스 == 0 그리고나서 회수하다 = 회수하다 .. '[카테고리:파이프가 포함된 이름의 위치 지도]' 끝. 끝. 한다면 args.흘러가다 == '중앙' 그리고나서 회수하다 = 회수하다 .. '/div>' 끝. 돌아가다 회수하다 끝. 현지의 기능. MarkOuterDiv(x, y, imageDiv, labelDiv) 돌아가다 음.html.만들다('div') :클래스 추가(od) :css텍스트('상단:' .. 둥글다(y, 3) .. '%;왼쪽:' .. 둥글다(x, 3) .. '%') :노드(imageDiv) :노드(labelDiv) 끝. 현지의 기능. mark Image Div(마크., 마크사이즈, 라벨., 링크, 알트, 직함) 현지의 빌더 = 음.html.만들다('div') :클래스 추가(아이디) :css텍스트('왼쪽:-' .. 둥글다(마크사이즈 / 2) .. 'px;top:-' .. 둥글다(마크사이즈 / 2) .. 'px') :특성('실패', 직함) 한다면 마크사이즈 ~= 0 그리고나서 빌더:위키텍스트(string.format( '[파일:%s %s %sdpx %s link=%s%s 클래스=notpageimage]', 마크., 마크사이즈, 마크사이즈, 라벨., 링크, 알트 그리고. ('alt=' .. 알트) 또는 '' )) 끝. 돌아가다 빌더 끝. 현지의 기능. mark Label Div(라벨., label_size, label_width, 위치, 배경, x, 마크사이즈) 한다면 톤수(label_size) == 0 그리고나서 돌아가다 음.html.만들다('div'):클래스 추가('l0'):위키텍스트(라벨.) 끝. 현지의 빌더 = 음.html.만들다('div') :css텍스트('크기:' .. label_size .. '%;폭:' .. label_width .. '그들') 현지의 거리 = 둥글다(마크사이즈 / 2 + 1) 한다면 위치 == '위' 그리고나서 --지정된 톱 빌더:클래스 추가('실패'):css텍스트('하단:' .. 거리 .. 'px;왼쪽:' .. (-label_width / 2) .. '그들') 그렇지 않으면 위치 == '하단' 그리고나서 -- 지정 하단 빌더:클래스 추가('실패'):css텍스트('상단:' .. 거리 .. 'px;왼쪽:' .. (-label_width / 2) .. '그들') 그렇지 않으면 위치 == '왼쪽 또는 (톤수(x) > 70 그리고. 위치 ~= '맞다') 그리고나서 -- 왼쪽 또는 왼쪽으로 자동 감지됨 빌더:클래스 추가('pl'):css텍스트('오른쪽:' .. 거리 .. 'px') 또 다른 -- 오른쪽 또는 오른쪽으로 자동 검출됩니다. 빌더:클래스 추가('pr'):css텍스트('왼쪽:' .. 거리 .. 'px') 끝. 빌더 = 빌더:태그('div') :위키텍스트(라벨.) 한다면 배경 그리고나서 빌더:css텍스트('background-color:' .. 배경) 끝. 돌아가다 빌더:다 했어요.() 끝. 현지의 기능. X를 취득하다(경도, 왼쪽, 맞다) 현지의 폭 = (맞다 - 왼쪽) % 360 한다면 폭 == 0 그리고나서 폭 = 360 끝. 현지의 왼쪽에서 거리 = (경도 - 왼쪽) % 360 -- 맵을 지나 오른쪽으로 필요한 거리는 distanceFromLeft - width와 같습니다.지도를 지나 왼쪽으로 가야 하는 거리는 360 - distanceFromLeft와 같습니다.페이지 스트레칭을 최소화하려면 더 짧은 방향으로 이동합니다. 한다면 왼쪽에서 거리 - 폭 / 2 >= 180 그리고나서 왼쪽에서 거리 = 왼쪽에서 거리 - 360 끝. 돌아가다 100 * 왼쪽에서 거리 / 폭 끝. 현지의 기능. 움직이다(위도, 정상, 맨 아래) 돌아가다 100 * (정상 - 위도) / (정상 - 맨 아래) 끝. 기능. p.마크.(틀, args, 지도) 한다면 것은 아니다. args 그리고나서 args = 취득하다(틀, {포장지 = '템플릿:위치 지도~'}) 끝. 현지의 지도명 = {} 한다면 것은 아니다. 지도 그리고나서 한다면 args[1] 그리고나서 지도 = {} 위해서 지도명 에서 음.본문.점등(args[1], '#', 진실의) 하다 지도[#지도 + 1] = p.getMapParams(음.스트링.서브(지도명, '^%s*(-)%s*