我正在尝试为标记的Infowindow内容创建一个编辑系统。我需要获取点击标记的ID值,但是我不确定如何获取它。
我试图通过信息窗口中的按钮来获取值
用这个代码
infowindow.setContent( "<div id='infowindow'>"+ addDescription +"</div>"+"<div id='iddiv'>Id: "+addId+"</div>"+"<button onclick='sendToEdit'>edit</button>");
,但我想它没有用。结果是未定义的值。
这是sendToEdit()函数
function sendToEdit()
{
var addIdStr = JSON.stringify(addId);
$.ajax({
url: "edit.php",
method: "post",
data: {addId:addIdStr},
success: function(res)
{
console.log("success")
}
});
window.open("edit.php");
}
function AddMarker(addDescription,addId)
{
var marker = new google.maps.Marker(
{
position: {lat: arr[0], lng:arr[1]},
map: map,
title: 'Click to zoom',
id: addId,
});
markers.push(marker);
google.maps.event.addListener(marker, 'click', function(){
infowindow.close(); // Close previously opened infowindow
infowindow.setContent( "<div id='infowindow'>"+ addDescription +"</div>"+"<div id='iddiv'>Id: "+addId+"</div>"+"<button onclick='sendToEdit()'>edit</button>");
infowindow.open(map, marker);
});
}
答案 0 :(得分:0)
要为特定标记编辑特定信息窗口,您需要发送该标记自己的ID。
"<button onclick='sendToEdit(" + marker.id + ")'>edit</button>"
然后,您可以在sendToEdit
函数中获取此ID:
function sendToEdit(markerId)
{
var addIdStr = JSON.stringify(markerId);
}
希望这会有所帮助。