모듈:위치 지도
Module| 이 모듈은 페이지 보호 대상입니다.매우 많은 페이지에서 사용 중이거나 매우 자주 교체되는 가시성이 높은 모듈입니다.파괴 행위나 실수는 많은 페이지에 영향을 미치고 사소한 편집도 서버에 상당한 부하를 줄 수 있으므로 편집으로부터 보호됩니다. |
| 이 Lua 모듈은 전체 페이지의 약 1%인 약 741,000 페이지에서 사용됩니다. 큰 중단과 서버 로드를 방지하려면 모듈의 /sandbox 또는 /testcase 하위 페이지 또는 자체 모듈 샌드박스에서 변경 사항을 테스트해야 합니다.테스트된 변경 사항은 한 번의 편집으로 이 페이지에 추가할 수 있습니다.변경사항을 구현하기 전에 대화 페이지에서 변경사항에 대해 논의하는 것을 고려합니다. |
| 이 모듈은 다음과 같은 다른 모듈에 따라 달라집니다. |
| 이 모듈은 TemplateStyle을 사용합니다. |
사용.
본 모듈은 {{Location map}} 및 {{Location map~}} 템플릿을 구현합니다.사용 지침은 템플릿 페이지를 참조하십시오.
알려진 문제
여러 맵을 사용할 때 서로 다른 캡션을 지원하는 기능이 도입된 이후, 한 가지 문제가 부각되고 있습니다.
일부 정보 상자 템플릿은 캡션 매개 변수를 이 모듈에 전달하지 않고 직접 사용합니다.이렇게 하면 두 캡션 사이에 "##"이 표시됩니다.
정보 상자 템플릿을 편집할 수 없는 경우 Bellezasolo에 문의하십시오.
추적/유지관리 범주
- 범주:오류 가능성이 있는 위치 지도
- 변경 사항 추적(대화 참조):범주:캡션에 더블 넘버 사인이 있는 위치 지도를 이용한 페이지 (14)
참고 항목
요구하다('''비공식''') 현지의 p = {} 현지의 args를 얻다 = 요구하다('모듈:인수').args를 얻다 현지의 기능. 둥그런(n, 십진법) 현지의 pow = 10^(십진법 또는 0) 돌아가다 수학.플로어(n * pow + 0.5) / pow 끝. 기능. p.지도 매개변수 가져오기(지도, 틀) 한다면 것은 아니다. 지도 그리고나서 오류('사용할 위치 지도 정의의 이름을 지정해야 합니다.', 2) 끝. 현지의 모듈 제목 = mw.제목.신규('모듈:위치 지도/자료/' .. 지도) 한다면 것은 아니다. 모듈 제목 그리고나서 오류(string.형식('%q는 위치 맵 정의에 대한 올바른 이름이 아닙니다.', 지도), 2) 그렇지 않으면 모듈 제목.존재한다 그리고나서 현지의 지도 데이터 = mw.로드 데이터('모듈:위치 지도/자료/' .. 지도) 돌아가다 기능.(이름., 유모차) 한다면 이름. == 영의 그리고나서 돌아가다 '모듈:위치 지도/자료/' .. 지도 그렇지 않으면 지도 데이터[이름.] == 영의 그리고나서 돌아가다 '' 그렇지 않으면 유모차 그리고나서 돌아가다 mw.메세지.새 원시 메시지(끈으로 묶는(지도 데이터[이름.]), 짐을 풀다(유모차)):평지() 또 다른 돌아가다 지도 데이터[이름.] 끝. 끝. 또 다른 오류('지정한 위치 지도 정의를 찾을 수 없습니다. "모듈:위치 지도/자료/' .. 지도 .. 존재하지 않음', 2) 끝. 끝. 기능. p.데이터.(틀, 논병아리, 지도) 한다면 것은 아니다. 논병아리 그리고나서 논병아리 = args를 얻다(틀, {프레임 전용 = 진실의}) 끝. 한다면 것은 아니다. 지도 그리고나서 지도 = p.지도 매개변수 가져오기(논병아리[1], 틀) 끝. 현지의 유모차 = {} 위해서 k,v 에 짝을 짓다(논병아리) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 한다면 k > 2 그리고나서 유모차[k-2] = v 끝. 끝. 돌아가다 지도(논병아리[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) 끝. 십진의 = 십진의 * 곱셈기 끝. 돌아가다 십진의 끝. {{Cord}}의 트랜스클리어에서 매개 변수를 찾습니다. 현지의 기능. coord2 텍스트(파라의,조정의) 이것은 아라비아 숫자나 학위 기호를 사용하지 않는 언어에 대해 변경되어야 합니다. 현지의 라트의, 긴 = mw.ustring.경기(조정의,'<span class="p%-반경 위도">([^<]+)</span><span class="p%-반경 경도">([^<]+)</span>') 한다면 라트의 그리고나서 돌아가다 수에 달하여(파라의 == '''비공식''' 그리고. 긴 또는 라트의) 끝. 현지의 결과 = mw.본문.분열되다(mw.ustring.경기(조정의,'%-?[%d]+°[NS] %-?[%d]+°[EW]') 또는 '', '[ °]') 한다면 파라의 == '''비공식''' 그리고나서 결과 = {결과[3], 결과[4]} 끝. 한다면 것은 아니다. 수에 달하여(결과[1]) 또는 것은 아니다. 결과[2] 그리고나서 mw.로그.('잘못된 좌표 값') mw.logObject(파라의, '''비공식''') mw.logObject(조정의, '코디') 돌아가다 오류('잘못된 좌표 값', 2) 끝. 돌아가다 수에 달하여(결과[1]) * 반구 곱셈기[파라의][결과[2]] 끝. 효과적으로 removeBlanks를 캡션 및 맵 링크에 대해 거짓으로 만들고 다른 모든 것에 대해 참으로 만듭니다. useWikidata가 있지만 비어 있으면 nil 대신 false로 변환합니다. p.top, p.bottom, 그리고 그들의 발신자들은 이것을 사용해야 합니다. 기능. p.valueFunc(열쇠, 가치) 한다면 가치 그리고나서 가치 = mw.본문.다듬다(가치) 끝. 한다면 가치 ~= '' 또는 열쇠 == '''비공식''' 또는 열쇠 == '맵링크' 그리고나서 돌아가다 가치 그렇지 않으면 열쇠 == 'Wikidata 사용' 그리고나서 돌아가다 거짓의 끝. 끝. 현지의 기능. 컨테이너 이미지 가져오기(논병아리, 지도) 한다면 논병아리.대체 지도 그리고나서 돌아가다 논병아리.대체 지도 그렇지 않으면 논병아리.안도 그리고. 지도('image1') ~= '' 그리고나서 돌아가다 지도('image1') 또 다른 돌아가다 지도('이미지') 끝. 끝. 기능. p.정상(틀, 논병아리, 지도) 한다면 것은 아니다. 논병아리 그리고나서 논병아리 = args를 얻다(틀, {프레임 전용 = 진실의, valueFunc = p.valueFunc}) 끝. 한다면 것은 아니다. 지도 그리고나서 지도 = p.지도 매개변수 가져오기(논병아리[1], 틀) 끝. 현지의 폭 현지의 default_as_number = 수에 달하여(mw.ustring.경기(끈으로 묶는(논병아리.default_width),"%d*")) 한다면 것은 아니다. 논병아리.폭 그리고나서 폭 = 둥그런((default_as_number 또는 240) * (수에 달하여(지도('기본 축척')) 또는 1)) 그렇지 않으면 mw.ustring.후보선수(논병아리.폭, -2) == '''비공식''' 그리고나서 폭 = mw.ustring.후보선수(논병아리.폭, 1, -3) 또 다른 폭 = 논병아리.폭 끝. 현지의 너비_as_number = 수에 달하여(mw.ustring.경기(끈으로 묶는(폭),"%d*")) 또는 0; 한다면 너비_as_number == 0 그리고나서 너비가 정크인지 확인합니다.그렇다면 기본 계산을 사용합니다. 폭 = 둥그런((default_as_number 또는 240) * (수에 달하여(지도('기본 축척')) 또는 1)) 너비_as_number = 수에 달하여(mw.ustring.경기(끈으로 묶는(폭),"%d*")) 또는 0; 끝. 한다면 논병아리.max_width ~= "" 그리고. 논병아리.max_width ~= 영의 그리고나서 너비가 max_width보다 큰지 확인합니다. 현지의 max_as_number = 수에 달하여(mw.ustring.경기(논병아리.max_width,"%d*")) 또는 0; 한다면 너비_as_number>max_as_number 그리고. max_as_number>0 그리고나서 폭 = 논병아리.max_width; 끝. 끝. 현지의 철회의 = 틀:확장 태그{이름. = '비공식적인 스타일, 논병아리 = {src = '모듈:위치 지도/styles.css'}} 한다면 논병아리.흘러가다 == '중앙' 그리고나서 철회의 = 철회의 .. '<div class="center">' 끝. 한다면 논병아리.캡션 그리고. 논병아리.캡션 ~= '' 그리고. 논병아리.경계 ~= '정보 상자' 그리고나서 철회의 = 철회의 .. '<div class="locmap noviewer noresize thumb" 한다면 논병아리.흘러가다 == '왼쪽' 또는 논병아리.흘러가다 == '왼쪽' 그리고나서 철회의 = 철회의 .. 't left' 그렇지 않으면 논병아리.흘러가다 == '''중앙''' 또는 논병아리.흘러가다 == '중앙' 또는 논병아리.흘러가다 == '''면''' 또는 논병아리.흘러가다 == '''비공식''' 그리고나서 철회의 = 철회의 .. '없음' 또 다른 철회의 = 철회의 .. '옳은' 끝. 철회의 = 철회의 .. '"> <div class="divinner" style="width:" .. (폭 + 2) .. '''비공식''' 한다면 논병아리.경계 == '''비공식''' 그리고나서 철회의 = 철회의 .. ';border:border' 그렇지 않으면 논병아리.경계 그리고나서 철회의 = 철회의 .. '; 테두리 색상:' .. 논병아리.경계 끝. 철회의 = 철회의 .. '"><div style="위치:flight;width:' .. 폭 .. '''비공식''' .. (논병아리.경계 ~= '''비공식''' 그리고. ';border:1인치 솔리드 라이트 그레이'> 또는 '">') 또 다른 철회의 = 철회의 .. '<div class="locmap" style="width:' .. 폭 .. '계속;' 한다면 논병아리.흘러가다 == '왼쪽' 또는 논병아리.흘러가다 == '왼쪽' 그리고나서 철회의 = 철회의 .. '왼쪽; 지우기: 왼쪽' 그렇지 않으면 논병아리.흘러가다 == '''중앙''' 또는 논병아리.흘러가다 == '중앙' 그리고나서 철회의 = 철회의 .. 'filename:clear:both;clear-left:auto;filename-right:auto' 그렇지 않으면 논병아리.흘러가다 == '''면''' 또는 논병아리.흘러가다 == '''비공식''' 그리고나서 철회의 = 철회의 .. 'filename:filename;clear:filename' 또 다른 철회의 = 철회의 .. 'filename:right;clear:right' 끝. 철회의 = 철회의 .. '"><div style="width:" .. 폭 .. 'filename;filename:0"><div style="position:filename;width:' .. 폭 .. '''면''' 끝. 현지의 이미지 = 컨테이너 이미지 가져오기(논병아리, 지도) 현지의 현재 제목 = mw.제목.현재 제목 가져오기() 철회의 = string.형식( '%s[[파일:%s %spx %s%s 클래스=notpage image]]', 철회의, 이미지, 폭, 논병아리.알트의 또는 ((논병아리.라벨. 또는 현재 제목.본문) .. 위치: .. 지도('이름')), 논병아리.지도 링크 그리고. (링크=' .. 논병아리.지도 링크) 또는 '' ) 한다면 논병아리.캡션 그리고. 논병아리.캡션 ~= '' 그리고나서 한다면 (현재 제목.네임스페이스 == 0) 그리고. mw.ustring.찾아내다(논병아리.캡션, '##') 그리고나서 철회의 = 철회의 .. '[[범주:'캡션에 이중 숫자 기호가 있는 위치 지도를 이용한 페이지]' 끝. 끝. 한다면 논병아리.오버레이_이미지 그리고나서 돌아가다 철회의 .. '<div style="위치:절대;top:0;left:0">[파일:' .. 논병아리.오버레이_이미지 .. ' ' .. 폭 .. 'page class=notpage image]'/div' 또 다른 돌아가다 철회의 끝. 끝. 기능. p.맨 아래(틀, 논병아리, 지도) 한다면 것은 아니다. 논병아리 그리고나서 논병아리 = args를 얻다(틀, {프레임 전용 = 진실의, valueFunc = p.valueFunc}) 끝. 한다면 것은 아니다. 지도 그리고나서 지도 = p.지도 매개변수 가져오기(논병아리[1], 틀) 끝. 현지의 철회의 = '/div' 현지의 현재 제목 = mw.제목.현재 제목 가져오기() 한다면 것은 아니다. 논병아리.캡션 또는 논병아리.경계 == '정보 상자' 그리고나서 한다면 논병아리.경계 그리고나서 철회의 = 철회의 .. '<div style="디버깅-top:0.2em">' 또 다른 철회의 = 철회의 .. '<div style="prefix-size:91%;prefix-top:3prefix"' 끝. 철회의 = 철회의 .. (논병아리.캡션 또는 (논병아리.라벨. 또는 현재 제목.본문) .. ' (' .. 지도('이름') .. ')') .. '/div' 그렇지 않으면 논병아리.캡션 ~= '' 그리고나서 이것은 파이프 속임수가 아닙니다.우리는 CSS가 우리에게 좋은 이미지를 줄 수 있도록 일부러 텍스트가 없는 링크를 만들고 있습니다. 철회의 = 철회의 .. '<div class="magnifycaption"><div class="magnify">[:파일:' .. 컨테이너 이미지 가져오기(논병아리, 지도) .. class=not page image ]]</div>' .. 논병아리.캡션 .. '/div' 끝. 한다면 논병아리.전환기 레이블 그리고나서 철회의 = 철회의 .. '<span class="scher-label" style="display:display">' .. 논병아리.전환기 레이블 .. '/span' 그렇지 않으면 논병아리.autoSwitcher 레이블 그리고나서 철회의 = 철회의 .. '<span class="swatcher-label" style="display:swatcher">의 지도 표시 .. 지도('이름') .. '/span' 끝. 철회의 = 철회의 .. '</div></div> 한다면 논병아리.caption_caption 그리고나서 mw.로그.(' 매개 변수 caption_undefined 사용됨') 현지의 부모 = 틀:상위 항목 가져오기() 한다면 부모 그리고나서 mw.로그.('부모는' .. 부모:제목 가져오기()) 끝. mw.logObject(논병아리, 'args') 한다면 현재 제목.네임스페이스 == 0 그리고나서 철회의 = 철회의 .. '[[범주:매개 변수가 제거된 위치 지도 caption_undefined]]' 끝. 끝. 한다면 지도('tww') ~= '' 또는 지도('lat_svw') ~= '' 또는 지도(180파운드) ~= '' 또는 지도('유형') ~= '' 그리고나서 mw.로그.('지도 정의에 사용된 매개 변수가 제거됨' .. 지도()) 한다면 현재 제목.네임스페이스 == 0 그리고나서 현지의 열쇠 = (지도('tww') ~= '' 그리고. 'tww' 또는 '') .. (지도('lat_svw') ~= '' 그리고. 'lat_svw' 또는 '') .. (지도(180파운드) ~= '' 그리고. 180파운드 또는 '') .. (지도('유형') ~= '' 그리고. '유형' 또는 '') 철회의 = 철회의 .. '[[범주:매개 변수가 제거된 위치 지도 ' .. 열쇠 .. ' ]]' 끝. 끝. 한다면 줄을 대다(지도('이름'), ' ', 1, 진실의) 그리고나서 mw.로그.('지도 정의 이름으로 사용된 파이프' .. 지도()) 한다면 현재 제목.네임스페이스 == 0 그리고나서 철회의 = 철회의 .. '[[범주:파이프가 포함된 이름의 위치 지도]] 끝. 끝. 한다면 논병아리.흘러가다 == '중앙' 그리고나서 철회의 = 철회의 .. '/div' 끝. 돌아가다 철회의 끝. 현지의 기능. OuterDiv 표시(x, y, imageDiv, labelDiv) 돌아가다 mw.html.만들다('div') :addClass('od') :css텍스트('맨 위:' .. 둥그런(y, 3) .. '%;왼쪽:' .. 둥그런(x, 3) .. '%') :노드(imageDiv) :노드(labelDiv) 끝. 현지의 기능. ImageDiv 표시(마크., 마크 사이즈, 라벨., 링크, 알트의, 제목) 현지의 건축업자 = mw.html.만들다('div') :addClass('id') :css텍스트('왼쪽:-' .. 둥그런(마크 사이즈 / 2) .. '상단:-' .. 둥그런(마크 사이즈 / 2) .. '''비공식''') :매력적인('''비공식''', 제목) 한다면 마크 사이즈 ~= 0 그리고나서 건축업자:위키텍스트(string.형식( '[파일:%s %s %dpx %s 링크=%s%s 클래스=notpage image]', 마크., 마크 사이즈, 마크 사이즈, 라벨., 링크, 알트의 그리고. (alt=' .. 알트의) 또는 '' )) 끝. 돌아가다 건축업자 끝. 현지의 기능. LabelDiv 표시(라벨., 라벨_사이즈, 레이블_폭, 위치, 배경, x, 마크 사이즈) 한다면 수에 달하여(라벨_사이즈) == 0 그리고나서 돌아가다 mw.html.만들다('div'):addClass('''l0'''):위키텍스트(라벨.) 끝. 현지의 건축업자 = mw.html.만들다('div') :css텍스트('크기 조정:' .. 라벨_사이즈 .. '%;폭:' .. 레이블_폭 .. '그들') 현지의 거리 = 둥그런(마크 사이즈 / 2 + 1) 한다면 위치 == '위' 그리고나서 지정된 상단 건축업자:addClass('''비공식'''):css텍스트('하단:' .. 거리 .. '왼쪽:' .. (-레이블_폭 / 2) .. '그들') 그렇지 않으면 위치 == '하단' 그리고나서 지정된 하단 건축업자:addClass('''비공식'''):css텍스트('맨 위:' .. 거리 .. '왼쪽:' .. (-레이블_폭 / 2) .. '그들') 그렇지 않으면 위치 == '왼쪽' 또는 (수에 달하여(x) > 70 그리고. 위치 ~= '옳음') 그리고나서 왼쪽으로 지정되거나 왼쪽으로 자동 감지됨 건축업자:addClass('pl'):css텍스트('오른쪽:' .. 거리 .. '''비공식''') 또 다른 지정된 오른쪽 또는 오른쪽으로 자동 감지됨 건축업자:addClass('pr'):css텍스트('왼쪽:' .. 거리 .. '''비공식''') 끝. 건축업자 = 건축업자:꼬리표를 달다('div') :위키텍스트(라벨.) 한다면 배경 그리고나서 건축업자:css텍스트('배경색:' .. 배경) 끝. 돌아가다 건축업자:다 했어요.() 끝. 현지의 기능. getX(경도, 왼쪽, 맞다) 현지의 폭 = (맞다 - 왼쪽) % 360 한다면 폭 == 0 그리고나서 폭 = 360 끝. 현지의 왼쪽으로부터의 거리 = (경도 - 왼쪽) % 360 지도를 지나 오른쪽으로 이동하는 데 필요한 거리는 왼쪽에서 너비까지의 거리와 같습니다.지도를 지나 왼쪽으로 360 - distanceFromLeft. 페이지 확장을 최소화하기 위해 더 짧은 방법으로 이동합니다. 한다면 왼쪽으로부터의 거리 - 폭 / 2 >= 180 그리고나서 왼쪽으로부터의 거리 = 왼쪽으로부터의 거리 - 360 끝. 돌아가다 100 * 왼쪽으로부터의 거리 / 폭 끝. 현지의 기능. 겟와이(위도, 정상, 맨 아래) 돌아가다 100 * (정상 - 위도) / (정상 - 맨 아래) 끝. 기능. p.마크.(틀, 논병아리, 지도) 한다면 것은 아니다. 논병아리 그리고나서 논병아리 = args를 얻다(틀, {포장지 = '템플릿:위치 지도~'}) 끝. 현지의 지도 이름들 = {} 한다면 것은 아니다. 지도 그리고나서 한다면 논병아리[1] 그리고나서 지도 = {} 위해서 지도명 에 mw.본문.갈라진(논병아리[1], '#', 진실의) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 지도[#지도 + 1] = p.지도 매개변수 가져오기(mw.ustring.gsub(지도명, '^%s*(.)%s*