繁体   English   中英

Javascript:参数列表后缺少)

[英]Javascript : missing ) after argument list

我正在尝试调用一个在Google Map上添加标记的javascript函数。

这是我的代码:

   {% for entreprise in entreprises %}
        <script> addMarker({{ entreprise.latitude }},{{ entreprise.longitude }},{{ entreprise.nom}})</script>
   {% endfor %} 

这是我的功能:

function addMarker(latitude,longitude,nom)
{
     var marker = new google.maps.Marker({
      position: {lat: latitude, lng: longitude},
      map: map,
      label: nom,
      title: nom
    });

} 

我收到一个错误: missing ) after argument list当我尝试引用这样的变量时:

<script> addMarker('{{ entreprise.latitude }}','{{ entreprise.longitude }}','{{ entreprise.nom}}')</script>

我得到错误:

addMarker() is not defined.

如何在Twig中调用函数?

非常感谢您的帮助。

1。

    {% for entreprise in entreprises %}
        <script> addMarker({{ entreprise.latitude }},{{ entreprise.longitude }},{{ entreprise.nom}})</script>
   {% endfor %} 

您需要加上引号,因为latitudelongtitudenom将输出php字符串,而不是javascript变量,因此您猜测添加'是正确的。

(但是最好在循环外将<script>置于正确的位置

 <script>
   {% for entreprise in entreprises %}
        addMarker('{{ entreprise.latitude }}','{{ entreprise.longitude }}','{{ entreprise.nom}}')
   {% endfor %} 
</script>
  1. 您之前调用过函数吗? 如果在函数之前声明了函数,当然会说if is not define。 因此,尝试在调用函数addMarker之前导入脚本

您是否使用jQuery()? 如果是这样,您可以使用

$(document).ready(function(){});

所以你可能会得到

 <script>
  $(document).ready(function() {
   {% for entreprise in entreprises %}
        addMarker('{{ entreprise.latitude }}','{{ entreprise.longitude }}','{{ entreprise.nom}}')
   {% endfor %} 
  });
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM