如何在HTML的Google Maps标记InfoWindow中调用变量插入URL图片?
问题分析与解决方案
你现在的问题出在直接把变量名写进了字符串里——JavaScript会把"photo"和"url"当成普通的文本字符串,而不是去读取你预先定义的变量值。要让变量的实际内容插入到HTML字符串中,有两种常用的正确写法:
方法1:使用ES6模板字符串(推荐)
模板字符串用反引号()包裹,变量通过${变量名}`的形式嵌入,写法简洁又直观:
// 假设你已经正确定义了photo和url变量 const ContentString = `<img src="${photo}" alt="${url}" />`; marker['infowindow'] = new google.maps.InfoWindow({ content: ContentString });
方法2:使用字符串拼接(兼容旧版JS环境)
如果需要兼容不支持ES6的老环境,可以用加号(+)把字符串和变量拼接起来:
// 假设你已经正确定义了photo和url变量 const ContentString = '<img src="' + photo + '" alt="' + url + '" />'; marker['infowindow'] = new google.maps.InfoWindow({ content: ContentString });
额外提个小建议:alt属性的作用是图片无法加载时的替代描述,如果你想让图片点击跳转到目标页面,需要把<img>包裹在<a>标签里,比如:
const ContentString = `<a href="${url}"><img src="${photo}" alt="点击跳转至目标页面" /></a>`;
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

