嘿伙计们,我想在地图上为每个Marker创建一个带有Infowindow的onclickEvent。 在那个Infowindow中应该有一个Button。如果我单击按钮,则应执行带参数的功能。但这不起作用......
我的代码:
var infowindow;
google.maps.event.addListener(marker,"click",function() {
var content="<input type='button' name='Edit' value='Edit' onclick='"+editPreference(preference)+"' id='NearbyEditButton"+counterNearby+"'>"
+ "<input type='button' name='Delete' value='Delete' onclick='deleteMarker(\"preference\")' id='NearbyDeleteButton"+counterNearby+"'>"
+ "<br>"
+ "</form>";
infowindow = new google.maps.InfoWindow();
infowindow.setContent(content);
infowindow.open(map, marker);
这是首选项Object
var preference = {
type : "NEARBY",
marker : marker,
position : latLng,
dPar : 10,
cPar : 10,
measureFn : "Euklidische Distanz",
label : "Nearby" + counterNearby,
id : "nearby" + counterNearby,
deleteButton: "NearbyButton"+counterNearby,
editButton: "EditButton"+counterNearby
};
这是使用首选参数执行的函数
function editPreference(preference) {
alert(preference.type);
deleteFromArray(preferences, preference);
if (!isNaN(document.getElementById("dPar").value)) {
preference.dPar = document.getElementById("dPar").value;
} else {
alert("Please enter a number for d-Paramater");
}
if (!isNaN(document.getElementById("cPar").value)) {
preference.cPar = document.getElementById("cPar").value;
} else {
alert("Please enter a number for c-Paramater");
}
preference.label = document.getElementById("Lab").value;
var d = document.getElementById("dist");
var d1 = d.options[d.selectedIndex].text;
preference.measureFn = d1;
alert(d1);
preferences.push(preference);
}
答案 0 :(得分:3)
你可能想要这样的东西:
google.maps.event.addListener(marker,"click",function() {
var content="<input type='button' name='Edit' value='Edit' onclick='editPreference("+preference+")' id='NearbyEditButton"+counterNearby+"'>"
+ "<input type='button' name='Delete' value='Delete' onclick='deleteMarker(\"preference\")' id='NearbyDeleteButton"+counterNearby+"'>"
+ "<br>"
+ "</form>";
infowindow = new google.maps.InfoWindow();
infowindow.setContent(content);
infowindow.open(map, marker);
});
但如果没有editPreference功能或者如何定义和使用“偏好”的想法,很难确定。
答案 1 :(得分:0)
我有类似的问题,我的解决方案是使用Javascript的文档API创建内容字符串。使用此方法,您可以在运行时添加方法,而无需担心范围。例如,对于名称为编辑的以下输入按钮,请使用以下代码进行创建。
preference
在这种情况下,我只是不知道如何将editPreference
对象传递给{{1}}函数。