DistanceWidget:
function DistanceWidget(map,markers) {
this.set('map', map);
this.set('position', map.getCenter());
this.set('markers',markers);
// MARKER CENTER
var marker = new google.maps.Marker({
draggable: true,
icon: {
url: "/public/img/move.png",
size: new google.maps.Size(20, 20),
anchor: new google.maps.Point(10, 10)
},
title: 'Di chuyển'
});
marker.bindTo('map', this);
marker.bindTo('position', this);
var me = this;
var radiusWidget = new RadiusWidget(markers);
this.bindTo('circle', radiusWidget);
radiusWidget.bindTo('map', this);
radiusWidget.bindTo('markers', this);
radiusWidget.bindTo('center', this, 'position');
this.bindTo('distance', radiusWidget);
this.bindTo('bounds', radiusWidget);
this.bindTo('radius', radiusWidget);
}
RadiusWidget:
RadiusWidget.prototype.center_changed = function() {
var bounds = this.get('bounds');
if (bounds) {
var lng = bounds.getNorthEast().lng();
var position = new google.maps.LatLng(this.get('center').lat(), lng);
this.set('sizer_position', position);
}
};
RadiusWidget.prototype.checkCenterDragend = function(){
//TODO SOMETHING HERE
}
我在DistanceWidget中移动(拖动)MARKER CENTER,center_changed原型将更新。太棒了。
问题:如何检查MARKER CENTER的事件标记以更新checkCenterDragend原型中的内容。
感谢您的时间。
答案 0 :(得分:0)
只需调用dragend
- 处理程序中的方法:
将其放在行var radiusWidget = new RadiusWidget(markers);
google.maps.event.addListener(marker, 'dragend', function() {
radiusWidget.checkCenterDragend.call(radiusWidget,this.getPosition());
});
传递给函数的第一个参数将是marker-position(中心)