Javascript 保存按钮未附加到右侧信息窗口,谷歌地图

Javascript 保存按钮未附加到右侧信息窗口,谷歌地图,javascript,arrays,google-maps-api-3,save,Javascript,Arrays,Google Maps Api 3,Save,添加删除功能并将我的标记添加到数组中后,“保存”按钮/保存功能不再附加到我的谷歌地图上的右侧信息窗口 如果我打开两个信息窗口,在这两个窗口中输入信息,然后在我打开的第一个窗口上单击“保存”,它将更新用“You submitted”创建的最后一个信息窗口,并将保存两次。根据不同的堆栈溢出帖子,我尝试了一些不同的方法,包括在infowindow的初始化过程中添加迭代器,还添加了一个外部函数来添加标记,但没有成功。我还确保在初始化之前声明了全局变量(如map)。我是一个挣扎了好几天的努贝人 我确信这个

添加删除功能并将我的标记添加到数组中后,“保存”按钮/保存功能不再附加到我的谷歌地图上的右侧信息窗口

如果我打开两个信息窗口,在这两个窗口中输入信息,然后在我打开的第一个窗口上单击“保存”,它将更新用“You submitted”创建的最后一个信息窗口,并将保存两次。根据不同的堆栈溢出帖子,我尝试了一些不同的方法,包括在infowindow的初始化过程中添加迭代器,还添加了一个外部函数来添加标记,但没有成功。我还确保在初始化之前声明了全局变量(如map)。我是一个挣扎了好几天的努贝人

我确信这个问题围绕着我对infowindow如何连接到数组中的标记的困惑。我的代码在下面的代码片段中

var标记=[];
var uniqueId=1;
var标记;
var信息窗口;
var映射;
var-html;
函数初始化(){
变量映射选项={
缩放:8,
中心:{
拉脱维亚:48.591130,
液化天然气:-119.682349
},
mapTypeControlOptions:{
MapTypeId:['roadmap']
}
};
var map=new google.maps.map(document.getElementById(“dvMap”)、mapOptions);
//将单击事件处理程序附加到映射。
google.maps.event.addListener(映射,'click',函数(e){
//确定用户单击的位置。
var位置=e.latLng;
//创建一个标记并将其放置在地图上。
var marker=new google.maps.marker({
位置:位置,,
地图:地图,
});
//设置唯一id
marker.id=uniqueId;
uniqueId++;
标记器。推(标记器);
//将单击事件处理程序附加到标记。
google.maps.event.addListener(标记“单击”,函数(e){
html=“

添加注释

”+ "" + “问题/想法:”+ “地址:”+ ""; html+=“”+ ""; infowindow=新建google.maps.infowindow({ 内容:html }); setContent(html); 信息窗口。打开(地图、标记); }); //将标记添加到数组中。 标记器。推(标记器); }); }; 函数删除标记(id){ //从数组中查找并删除标记 对于(var i=0;i=1){ document.getElementById(“message”).innerHTML=“位置已添加。内容:name=“+name+”,address=“+address+”latlng=“+latlng; } }); infowindow.setContent(“您提交的内容:name=“+name+”,address=“+address+”latlng=“+latlng”); } } } 函数下载url(url,回调){ var请求=window.ActiveXObject? 新的ActiveXObject('Microsoft.XMLHTTP'): 新的XMLHttpRequest; request.onreadystatechange=函数(){ if(request.readyState==4){ request.onreadystatechange=doNothing; 回调(request.responseText、request.status); } }; 打开('GET',url,true); 请求发送(空); 函数doNothing(){} } google.maps.event.addDomListener(窗口“加载”,初始化)
好的,所以我移动了push语句,以便在声明infowindow后将标记推送到数组中。这使save函数无法多次保存html内容。所以保存现在工作得很好,唯一的问题是我能够用消息“yousubmitted…”更新正确的信息窗口 它仍在更新我打开的最后一个信息窗口

var标记=[];
var uniqueId=1;
var标记;
var信息窗口;
var映射;
var-html;
函数初始化(){
变量映射选项={
缩放:8,
中心:{
拉脱维亚:48.591130,
液化天然气:-119.682349
},
mapTypeControlOptions:{
MapTypeId:['roadmap']
}
};
var map=new google.maps.map(document.getElementById(“dvMap”)、mapOptions);
//将单击事件处理程序附加到映射。
google.maps.event.addListener(映射,'click',函数(e){
//确定用户单击的位置。
var位置=e.latLng;
//创建一个标记并将其放置在地图上。
var marker=new google.maps.marker({
位置:位置,,
地图