I'm using DistanceWidget plugin. This is my code:
var distanceWidget = new DistanceWidget(map);
displayMarker(distanceWidget, markers);
google.maps.event.addListener(distanceWidget, 'distance_changed', function () {
displayMarker(distanceWidget, markers);
});
google.maps.event.addListener(distanceWidget, 'position_changed', function () {
displayMarker(distanceWidget, markers);
});
And this function show/hide marker
function displayMarker(circle, markers) {
var bounds = circle.get('bounds');
for (var i=0; i<markers.length; i++) {
if(bounds.contains(markers[i].getPosition())) {
markers[i].setVisible(true);
} else {
markers[i].setVisible(false);
}
}
}