标记拖动Google Maps API V3上的事件

时间:2014-03-05 00:59:58

标签: javascript google-maps events google-maps-api-3 javascript-events

我创建并使用事件监听器来在用户拖动标记时执行某个功能,但它不起作用,是否有人可以帮助我?

这是事件监听器

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!!! "); }
            });

2 个答案:

答案 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);

通过调用该函数,当它出现在您的代码中时,它才会“触发”,即您尝试设置侦听器时。