将存储在 Semantic MediaWiki 子对象中的坐标传递给 Leaflet 地图

Passing coordinates stored in Semantic MediaWiki subobject to Leaflet map

我想将来自不同子对象字段的多组坐标传递到地图中。我尝试将坐标存储在单独的 属性 值中并像这样调用它们:

<div class="LeafletPageMap">{{#ask:[[{{PAGENAME}}]] 
|?Has categorya coordinates
|?Has categoryb coordinates}}</div>

效果很好,但我想利用子对象的能力来保存更大的关系集——尤其是对其他页面的调用。我想要一个具有以下功能的东西:

{{#subobject:
|locationtidbit= an unexpected tidbit to consider|+sep=;
|locationdescription=Another spot to consider|+sep=;
|locationcoordinates= -45.67805, -38.9820|+sep=;
|locationnotes=a baby subsidiary co.|+sep=;
|@category=geo, location
}}
{{#subobject:
|locationdescription=lorem blah ipsum blah|+sep=;
|locationcoordinates= -74.67805, -103.9820|+sep=;
|locationnotes=afdsdsddfo|+sep=;
|@category=geo, location
}}
{{#subobject:
|locationdescription=less important description|+sep=;
|locationcoordinates= -75.647805, -74.9820|+sep=;
|locationnotes=|+sep=;
|@category=geo, location
}}
{{#subobject:
|locationtidbit= an predictable tidbit to consider|+sep=;
|locationdescription=very important location description |+sep=;
|locationcoordinates= -35.67805, -65.9820|+sep=;
|locationnotes=a bakjh sdkjh sdkjh sd co.|+sep=;
|@category=geo, location
}}

然后调用:

{{#display_map: {{#ask: [[-Has subobject::{{PAGENAME}}]][[Category:geo, location]] 
 |?locationcoordinates #
 |mainlabel=-
 |headers=hide
 |format=plainlist
 |sep=&thinsp;;&thinsp;
}}}}

我已经能够分别显示第一组和最后一组坐标,但无法显示整个组。上面的代码绘制了最后一组,如果我将子对象重命名为

{{#subobject:1... {{#subobject:2... {{#subobject:3... {{#subobject:4...

例如,将绘制第一个坐标。真想弄全组和合并子对象组还没实现!

非常感谢任何建议!

将您的 ask 查询替换为:

{{#ask: [[-Has subobject::{{FULLPAGENAME}}]][[Category:geo, location]] 
 |?locationcoordinates #
 |mainlabel=-
 |headers=hide
 |format=plainlist
 |sep=;
}}
  1. {{PAGENAME}} 在主命名空间之外将无法正常工作。
  2. {{#displaymap:}} 的坐标应该用 ; 分隔,不要有花哨的细空格。

还可以考虑不查询页面本身,而是直接从模板或模块参数传递坐标。