跳至內容

模組:Infobox mapframe/doc

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書

此頁面為 Module:Infobox mapframe 的說明文件

該模組用於在資訊框中自動生成mapframe互動式地圖,編者只需輸入少量參數即可實現。

通用用法

[編輯]

直接使用模板{{Infobox mapframe}},參照其文件說明即可。本模組也可匯入其他Lua模組使用。

在資訊框模板中嵌入

[編輯]
範例編輯: Template:Infobox prisonTemplate:Infobox prison/doc

修改模板

[編輯]

若要將mapframe地圖整合到現有的資訊框模板中,需在模板代碼的適當位置添加呼叫語句。地圖可以放置在資訊框的頂部附近(通常在圖片下方)或底部,參照以下範例修改模板即可(注意根據現有圖片或data參數的數量調整數字編號,如下方的4,或9799):

若置於資訊框頂部附近 若置於資訊框底部附近
| image4     = {{#invoke:Infobox mapframe|auto}}
| caption4   = {{#invoke:Infobox mapframe|autocaption}}
| header97   = {{#if:{{{mapframe|}}}|地图}}
| data98     = {{#invoke:Infobox mapframe|auto}}
| data99     = {{#invoke:Infobox mapframe|autocaption}}

完成上述修改後,該資訊框模板即可支援Infobox mapframe的所有參數。

  • 如果模板中呼叫了{{#invoke:Check for unknown parameters|check}},只需在呼叫中添加|mapframe_args=y,即可將所有mapframe相關參數辨識為已知參數。
  • 預設情況下,地圖功能是關閉的,即只有在條目呼叫資訊框時傳入|mapframe=yes參數才會顯示地圖。若希望預設開啟地圖,可以在#invoke呼叫中添加|onByDefault=yes,此時地圖預設顯示,除非條目呼叫時傳入|mapframe=no
    • onByDefault也支援條件表達式,例如|onByDefault={{#if:{{{pushpin_map|}}}|no|yes}},表示如果條目中使用了{{{pushpin_map|}}}參數,則關閉地圖功能,否則預設開啟。
  • #invoke呼叫中可以指定參數的預設值。例如,若希望預設使用圖書館圖示作為標記,則寫為:{{#invoke:Infobox mapframe|auto|mapframe-marker=library}},這樣除非在具體條目呼叫時指定了其他值,否則均使用該預設圖示。

更新模板文件

[編輯]

在資訊框模板的文件中,如需說明Infobox mapframe相關參數,可以使用{{Infobox mapframe/doc/parameters}}模板。該模板支援通過|參數名=值的形式指定預設值(如果在#invoke呼叫中指定了預設值)。以下是預設輸出:

模板資料部分,可插入Template:Infobox mapframe/doc#模板資料的內容來更新。

常見問題及解答

[編輯]
Q1:為什麼來自OpenStreetMap的線狀或面狀要素沒有顯示?
A1:有幾種可能的原因:
Q2:當底圖出現問題時在哪裡提交錯誤報告?(例如缺失湖泊)
A2:如果該問題也出現在OpenStreetMap上,則需要在OpenStreetMap上修復。如果問題僅出現在維基媒體地圖上,可以在Phabricator上報告(您可以使用維基百科帳戶登入)。請參閱mw:How to report a bug取得操作說明(對於標籤,請使用Maps)。(或者,您可以嘗試mw:Help talk:Extension:Kartographer
Q3:在哪裡報告地圖的其他錯誤或問題?
A3:這可能是維基百科模組的問題,也可能是底層軟體的錯誤(這類錯誤很多)。
Q4:為什麼檢視頁面時縮圖地圖呈現為靜態圖像,而編輯頁面時卻是互動式的?
A4:在維基百科以及除維基導遊外的大多數wiki上,嵌入的縮圖是靜態地圖,需要打開全螢幕地圖後才能進行縮放或平移。這是出於效能考慮,以便在禁用JavaScript時能顯示某些內容,並方便列印。
預覽模式顯示互動式地圖是一個錯誤,phab:T203863(也是一個效能問題)。更多解釋可以在phab:T202793的評論中找到。
Q5:為什麼編輯或添加地圖後,線狀、面狀或點狀要素沒有顯示,儘管它們在頁面預覽中顯示過?
A5:這是一個與生成縮圖圖像相關的錯誤。它應該在一兩個小時內自行修復。詳情請參閱phab:T269984
Q6:使用mapframe的|raw=參數(在使用Module:Infobox mapframe的資訊框的|mapframe-custom=參數內)的頁面顯示「執行指令碼的分配時間已到」的錯誤訊息。該怎麼辦?
A6:如果要處理的原始資料量過大,可能會顯示該逾時訊息。您可以嘗試將原始資料移至Commons(範例)或使用Special:ExpandTemplates將mapframe模板替換為等效的wikitext(範例

參見

[編輯]