跳转到内容

模組: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(示例

参见

[编辑]