我创建并使用事件监听器来在用户拖动标记时执行某个功能,但它不起作用,是否有人可以帮助我?
这是事件监听器
google.maps.event.addListener(marker, 'dragend', enviarParaASP(marker));
功能:
function enviarParaASP(marcador) {
coordenadaASalvar = { latitude: marcador.position.d, longitude: marcador.position.e };
jQuery.ajax({
url: 'GoogleMapsGeolocation.aspx/SalvaCoordenadas',
type: "POST",
data: JSON.stringify({'coord': coordenadaASalvar}),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) { alert("OK "); },
failure: function (msg) { alert("Sorry!!! "); }
});
答案 0 :(得分:6)
您的语法不正确:
google.maps.event.addListener(marker, 'dragend', enviarParaASP(marker));
将运行您的函数并将返回值指定为侦听器函数(不是您想要的,特别是因为该函数没有返回值,所以它将为null)。
该行应为:
google.maps.event.addListener(marker, 'dragend', enviarParaASP);
enviarParaASP应该以google.maps.MouseEvent为参数。
答案 1 :(得分:2)
你的回调应该只是对你的函数的引用,而不是一个调用:
google.maps.event.addListener(marker, 'dragend', enviarParaASP);
通过调用该函数,当它出现在您的代码中时,它才会“触发”,即您尝试设置侦听器时。