You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Symfony UX Map单地图多标记点实现失败及报错求助

Symfony UX Map 单地图多标记点实现方案

问题分析

你当前的代码在signalements循环中重复调用ux_map,导致每个标记点对应一个独立地图;后续尝试在ux_map函数参数内部构建标记数组,违反了Twig语法规则,因此抛出语法错误。

正确实现代码

需要先在ux_map函数外部完成标记点数组的构建,再将数组传递给markers参数:

<div class="map">
    {# 先构建所有标记点的数组 #}
    {% set markers = [] %}
    {% for signalement in signalements %}
        {% set markers = markers|merge([{
            position: [signalement.structure.latitude, signalement.structure.longitude],
            title: signalement.structure.nom
        }]) %}
    {% endfor %}

    {# 调用ux_map,传入构建好的标记数组 #}
    {{ ux_map(
        center: [47.65, 1.50],
        zoom: 7,
        markers: markers,
        attributes: {
            class: 'mapimap',
            style: 'height: 35rem; width: 30rem',
        }
    ) }}
</div>

原理说明

  • 通过Twig的merge过滤器,在循环中逐个将每个signalement对应的标记对象合并到markers数组中;
  • 最后将完整的markers数组传递给ux_map组件,组件会在同一个地图上渲染所有标记点。

内容的提问来源于stack exchange,提问作者d3LTa7

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 03:42:12