2017-05-07 51 views
4

我想在我的反应组件中制作一个简单的iframe,以显示谷歌地图位置。我目前硬编码像这样的src如何通过反应组件中的iframe

this.state.features.map(function(school){ 
    return(
     <div> 
      {school.name} 
      <div> 
      <iframe frameBorder="0" style={{ width: "100%", height: "450"}} 
       src="https://www.google.com/maps/embed/v1/place?q=40.7127837,-74.0059413&amp;key=AIzaSyCc3zoz5TZaG3w2oF7IeR-fhxNXi8uywNk"> 
      </iframe> 
      </div> 
     </div> 
    ) 
}) 

这似乎工作。但是我想用一个反应变量 所以我做这样的事情

const MY_API = AIzaSyCc3zoz5TZaG3w2oF7IeR-fhxNXi8uywNk 

let _url = "https://www.google.com/maps/embed/v1/place?q=40.7127837,-74.0059413&amp;key="+MY_API; 

传递SCR,然后动态传递SRC这样

<iframe frameBorder="0" style={{ width: "100%", height: "450"}} 
     src={_url}> 
</iframe> 

,但现在我得到以下错误

Google Maps API服务器拒绝了您的请求。无效的请求。 意外参数'amp%3Bkey'

不知道错误信息是关于什么的。请帮助。

回答

2

试试这个(我无法在问题尚未就此发表评论)

const MY_API = 'AIzaSyCc3zoz5TZaG3w2oF7IeR-fhxNXi8uywNk' 
let _url = `https://www.google.com/maps/embed/v1/place?key=${MY_API}&q=40.7127837,-74.0059413` 

以上是使用ES6 template literals

+0

的作品就像一个魅力:) – Shadid