我有一个带有圆圈的谷歌地图,一旦我改变半径,我就会提交一个带有新参数的表格,
这editable:true
和radius_changed
-event配合得很好
因为当您完成调整大小移动时会触发 radius_changed 事件。
我想对 center_changed-event 做同样的事情,但是当我“放下”圆圈时,它不会触发,它会在中心改变时触发,
我在文档中找不到任何圆圈的拖动事件,
问题是,只要我将圆圈移动 px,我的表单就会立即提交。
这是我的 gmap3 代码片段
circle:{
options:{
center: destination,
radius : distance,
fillColor : "white",
fillOpacity:0.3,
strokeColor : "#c9311b",
editable:true,
draggable:true
},
events:{
click: function(circle){
circle.setOptions({
fillColor : "white",
fillOpacity:0.1,
strokeColor : "#FF512F"
});
},
radius_changed: function(circle){
var radius =circle.getRadius() ;
var newradius = parseInt(radius) / 1000;
alert(parseInt(newradius,10));
$('#seldistance').val(parseInt(newradius,10));
$('.sucheen').submit();
},
center_changed: function(circle){ //
var center = circle.getCenter(); // Here´s the center change event,
console.log(center); //it really spams the console when you drag
} //
},
callback: function(circle){
if(distance != '0'){
if ( distance < '1000'){
$(this).gmap3('get').setZoom(15);
console.log('radius ='+distance);
}
else if ( distance < '5000'){
$(this).gmap3('get').setZoom(13);
console.log('radius ='+distance);
}
else if ( distance < '10000'){
$(this).gmap3('get').setZoom(12);
console.log('radius ='+distance);
}
else if ( distance < '20000'){
$(this).gmap3('get').setZoom(11);
console.log('radius ='+distance);
}
else if ( distance < '35000'){
$(this).gmap3('get').setZoom(10);
console.log('radius ='+distance);
}
else{
$(this).gmap3('get').setZoom(10);
}
}
else {
//Clear circle if no radius is set
$(this).gmap3({
clear: {
name:["circle"],
last: true
}
});
$(this).gmap3('get').setZoom(12);
}
}
},//close circle
任何人都知道如何触发 dragend 事件?=
好的,我意识到我想要的功能带有可编辑:true 但只有当我使用小中心点拖动时,我很想将整个圆圈拖动到任何地方提前感谢任何提示