【问题标题】:Google Maps Embed Api - Invalid parameter qGoogle Maps Embed Api - 无效参数 q
【发布时间】:2017-10-10 09:56:59
【问题描述】:

我在 NodeJs、Express 和 Pug/Jade 中创建了一个 WebApp。

以下哈巴狗代码有效

iframe#map(width="100%", height="600", frameborder="0", style="border:0"
    src='https://www.google.com/maps/embed/v1/place?' +
        'key=MY_API_KEY&q=56.8860513,-9.5357577')

但是下面的代码不起作用

src='https://www.google.com/maps/embed/v1/place?' +
        'key=MY_API_KEY&q=#{data.long},#{data.lat}')

我得到的错误是The Google Maps API server rejected your request. Invalid request. Invalid 'q' parameter. - 有什么建议/想法吗?

注意数据是一个有效的 json 文件。我可以使用h2 Location of #{data.fname} 在 pug 文档中打印出来。 变量由app.locals.data = myData;创建

【问题讨论】:

  • 输出data会得到什么?是否有有效字段data.langdata.lat
  • 数据 = { fname: 'Daniel', lat: 8.5357577, long: 51.8860513 }
  • 这是如何在您的输出 html 中呈现的 - src='https://www.google.com/maps/embed/v1/place?' + 'key=MY_API_KEY&q=#{data.long},#{data.lat}')?如果您检查浏览器的源代码,data.longdata.lat 的值是否正确插入?
  • @MohitBhardwaj https://www.google.com/maps/embed/v1/place?key=MY_API_KEY&q=#{patientData.long},#{patientData.lat}
  • 你能试试src="https://www.google.com/maps/embed/v1/place?key=MY_API_KEY&q=' + data.long + ',' + data.lat + '")吗?

标签: javascript json node.js express pug


【解决方案1】:

避免使用 #{var} 语法,因为它已在 Pug 2 中被删除,如 mentioned here

[注意 这个语法#{var} 已在属性插值中删除,即您不能在属性值中使用此语法,但对于元素的内容,您仍然可以使用此语法。例如p my name is #{name}.]

而是像这样定义您的 src 属性:

src="https://www.google.com/maps/embed/v1/place?key=MY_API_K‌​EY&q=' + data.long + ',' + data.lat + '")

【讨论】:

    猜你喜欢
    • 2015-04-20
    • 2017-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多