Javascript 谷歌地图和地点侧边栏

Javascript 谷歌地图和地点侧边栏,javascript,google-maps-api-3,google-places-api,sidebar,Javascript,Google Maps Api 3,Google Places Api,Sidebar,我开始学习js和编码,我尝试用google地图+places api构建一个网站,所以当键入“餐厅或酒吧等”时,我会在地图和侧边栏上显示这项业务 没有边栏代码,所有代码都可以正常工作: var side_bar_html = "<a href='javascript:google.maps.event.trigger(gmarkers["+parseInt(gmarkers.length-1)+"],\"click\");'>"+place.name+"</a><

我开始学习js和编码,我尝试用google地图+places api构建一个网站,所以当键入“餐厅或酒吧等”时,我会在地图和侧边栏上显示这项业务

没有边栏代码,所有代码都可以正常工作:

var side_bar_html = "<a href='javascript:google.maps.event.trigger(gmarkers["+parseInt(gmarkers.length-1)+"],\"click\");'>"+place.name+"</a><br>";
     document.getElementById('side_bar').innerHTML += side_bar_html;
var side_bar_html=“
”; document.getElementById('side\u bar')。innerHTML+=side\u bar\u html;
但我需要修复此代码,使其可行。 所以当我键入“餐厅或酒吧等”在地图和侧边酒吧上显示我时

我的边栏代码中的错误在哪里


对不起,我的英语不是很好,但我学习英语和编码很努力。谢谢你的
gmarkers
变量未定义。它只是没有到达将其附加到“侧栏”的部分

还有,为什么不这样做呢

 var sideClick = jQuery("<a class=side_click href='#'></a>");
 $(sideClick).html(place.name);
 $("#side_bar").append(sideClick);
 $(sideClick).on("click", function() {
     google.maps.event.trigger(gmarkers[parseInt(gmarkers.length-1)], "click");
 });
var侧击=jQuery(“”);
$(侧击).html(place.name);
$(“#侧栏”)。附加(侧键单击);
$(侧击).on(“单击”,函数(){
google.maps.event.trigger(gmarkers[parseInt(gmarkers.length-1)],“点击”);
});
初始代码的问题-它无法访问
place
变量(除了
javascript:
是一种不好的做法之外)。因此,通过将其全部放入
google.maps.event.addListener(搜索框,'places_changed',function(){..}
的回调中,它现在可以访问
place
变量并获取当前循环的
name
place

我仍然不确定
gmarkers
(也许,它应该是
markers
(拼写错误)?)是什么。它没有在任何地方声明

这是工作版本(没有
gmarkers
part,它仍然是坏的):

您可能希望了解有关JavaScript中闭包的更多信息:
.

(在事件侦听器标题中使用闭包的下的部分)。此示例与谷歌地图相关,非常适合显示现实生活中的闭包。

这里是一个工作版本,但没有侧栏,谢谢,但当我单击侧栏链接时,不会打开信息窗口(modalbox)?另外,当我键入新搜索时,侧边栏链接没有改变,为什么会这样?1)看看代码-在回调时它执行“google.maps.event.trigger(gmarkers[parseInt(gmarkers.length-1)],“click”);”。它还是坏的。我不知道什么是
gmarkers
——它是未定义的。您必须找出要传递的变量。2) 你什么意思?它适用于我在Chrome和Firefox中使用,在执行新搜索时,它会在侧边栏中添加新链接。我只是展示了工作结束,你可以随意改变规则-
empty()
侧边栏上的更改和其他内容。是的,在chaneges侧边栏上必须有新的链接,而且当我点击侧边栏链接时不会在地图上打开信息窗口?我不知道什么是Gmarker,因为我从一个示例复制了这部分代码