模板参数 参数 | 描述 | 类型 | 状态 |
---|
单页地图图片名称 | map | 作为单页地图的图片文件名称,若设定了该项,则地图会以单页模式运作 - 示例值
- 我的地图.png
| 文件 | 可选 |
---|
区块地图名称模板 | tiletemplate | 用于生成区块图片名的模板(需包含$x、$y、$z),若设定了该项,且没有设定map参数,那么地图会以区块模式运作 - 示例值
- MyMap-$z-$y-$x
| 字符串 | 可选 |
---|
区块地图边界 | tilebounds | 最高缩放等级下,地图的宽度与高度(用半角逗号分隔),在区块地图模式下必须填写该项 - 示例值
- 2000,2000
| 字符串 | 可选 |
---|
区块大小 | tilesize | 区块地图中每个区块的宽度与高度(用半角逗号分隔),在区块地图模式下必须填写该项 - 示例值
- 200,200
| 字符串 | 可选 |
---|
区块地图缩放等级 | tilezoom | 区块地图的缩放下限与上限(用半角逗号分隔),在区块地图模式下必须填写该项 - 示例值
- 0,2
| 字符串 | 可选 |
---|
标记数据页面名 | markers | 指定存放标记数据的页面名,格式为“Data:XXX.json”;如果不设定该参数,那么本零件会根据地图名自动指定一个页面 - 示例值
- Data:MyMap.json
| 页面名称 | 推荐 |
---|
初始缩放倍率 | initialzoom | 地图的初始缩放倍率,默认为0
| 数字 | 可选 |
---|
初始X坐标 | initiallocx | 地图的初始X坐标,默认为地图中心
| 数字 | 可选 |
---|
初始Y坐标 | initiallocy | 地图的初始Y坐标,默认为地图中心
| 数字 | 可选 |
---|
容器样式 | style | 为地图容器设定额外样式
| 字符串 | 可选 |
---|
运作模式
- 互动地图零件共有两种运作模式:单页模式和区块模式。
- 单页模式:使用一张完整的图片来作为地图。
- 优点:配置简单,适合小型地图(尺寸小于1500x1500px)。
- 缺点:流量消耗大(每次都会载入完整的地图);无法加载大型地图(灰机站点规定上传图片不能大于10MB)。
- 区块模式:以区块的方式来加载地图。
- 优点:能够加载大型地图;分块加载,流量消耗小。
- 缺点:配置相对复杂(建议通过辅助工具来上传图片/设置参数)。
- 零件会根据参数设置来判定使用的运作模式
- 如果设定了
map 参数,那么地图会使用单页模式。
- 如果设定了
tiletemplate 参数,并且没有设定map 参数,那么地图会使用区块模式。
- 无论互动地图使用哪种运作模式,其图床均依托于灰机的服务。因此所有使用的图片必须先在当前站点内上传。
相关说明
- 标记数据页面名参数
markers 必须指向一个页面内容类型为json 的页面。一般来说,位于Data 命名空间下且后缀为.json 的页面(比如“Data:MyMap.json”)均满足上述要求。如果用户未指定markers 参数,那么本零件会根据当前的地图模式,将标记数据页面设定为“Data:图片名.json”(单页模式)或“Data:名称模板.json”(区块模式)。
- 若要使用区块模式,那么用户必须设定
tiletemplate 、tilesize 、tilebounds 和tilezoom 参数。缺少上述任何参数都可能导致地图出现异常。
- 如果使用辅助工具来生成模板代码,那么上述参数会自动生成,无需用户自行计算。
- 区块模式的单次缩放倍率为4(即每层的区格的长度与宽度均为上一层区格的2倍)。这个倍率目前无法通过参数修改。如果用户没有使用辅助工具来上传图片,那就必须自行确保每层地图的大小符合缩放倍率。
辅助工具
代码示例
注意:示例中使用的图片和数据页面并不包含在零件内。因此,在搬运后,示例中的地图可能无法正常显示。
单页地图
{{Map
| map = Astroneer.png
| markers = data:Astroneer.json
| style = height:400px;
}}
上面的代码将产生如下效果:
区块地图
{{Map
| tiletemplate = TestMap-$z-$y-$x.png
| tilesize = 400,400
| tilebounds = 11658,6112
| tilezoom = 0,3
| markers = data:TestMap-$z-$y-$x.json
| style = height:400px;
}}
上面的代码将产生如下效果:
|