Google maps api 3 谷歌地图圈覆盖。拖动完成后如何调用函数?

Google maps api 3 谷歌地图圈覆盖。拖动完成后如何调用函数?,google-maps-api-3,Google Maps Api 3,伙计们,经过长时间的研发,我能够画一个圆圈,并根据位置和半径在圆圈区域内放置标记 我正在调用一个函数,每当圆的半径或位置发生变化时就会触发。。 它工作正常(函数触发并从数据库中获取标记。)但在拖动圆时(大约100次)会调用该函数。我希望该函数被称为OnDragComplete。。我在谷歌API上没有发现任何这样的事件。。 下面是我的代码。。任何帮助都将不胜感激 google.maps.event.addListener(distanceWidget, 'distance_changed', f

伙计们,经过长时间的研发,我能够画一个圆圈,并根据位置和半径在圆圈区域内放置标记

我正在调用一个函数,每当圆的半径或位置发生变化时就会触发。。 它工作正常(函数触发并从数据库中获取标记。)但在拖动圆时(大约100次)会调用该函数。我希望该函数被称为OnDragComplete。。我在谷歌API上没有发现任何这样的事件。。 下面是我的代码。。任何帮助都将不胜感激

google.maps.event.addListener(distanceWidget, 'distance_changed', function() {
 displayInfo(distanceWidget);
  searchLocations();
  });

google.maps.event.addListener(distanceWidget, 'position_changed', function() {
 displayInfo(distanceWidget);
 searchLocations();
            });

您可以在鼠标事件上向小部件添加“拖动”属性,并在其他功能中检查该属性:

google.maps.event.addListener(distanceWidget, 'mousedown', function() {
    distanceWidget.dragging = true;
});

google.maps.event.addListener(distanceWidget, 'mouseup', function() {
    distanceWidget.dragging = false;
});

google.maps.event.addListener(distanceWidget, 'position_changed', function() {
    if (distanceWidget.dragging === false) {
        displayInfo(distanceWidget);
        searchLocations();
    }
});

我也面临这个问题。我们可以在内部使用拖放事件侦听器 DistanceWidget函数并使用marker实例侦听

功能距离小部件(地图){
此.set('map',map);
this.set('position',map.getCenter());
var marker=new google.maps.marker({
lat:$('input[name=lat]')。val(),
lng:$('input[name=lng]')。val(),
真的,
克罗森特拉格:错,
光标:“十字线”,
标题:“拖动以更改圆半径!”,
图标:“assets/front/images/pin.png”,
});
google.maps.event.addListener(标记'drag',函数(e){
console.log('starting');
});
google.maps.event.addListener(标记'dragend',函数(e){
//当你放下小部件标记时触发
console.log('end');
});

}
谢谢你的主意,michael!!你的想法应该行得通!但由于某些原因,mousedown或mouseup事件不会触发。。