我想通过点击谷歌地图(设置中心)并在地图上移动(设置半径)来绘制一个圆圈。
当我把圆圈变大时它会起作用,但当我把圆圈变小时它不起作用。
问题是 mousemove 事件不会通过圆圈,因此当鼠标悬停在圆圈上时,地图不会触发任何 mousemouse ...
这是小提琴:http: //jsfiddle.net/charlesbourasseau/m2Cjc/4/
我也尝试在圆圈上使用mousemove,但没有成功。
这是代码:
var map = new GMaps({
div: '#map',
lat: 52.521832,
lng: 13.413168,
click: function(e) {
var lat = e.latLng.lat();
var lng = e.latLng.lng();
if (circle) {
// TODO how to really remove the circle?
circle.setVisible(false);
}
circle = map.drawCircle({
lat: lat,
lng: lng,
radius: 100,
strokeColor: '#BBD8E9',
strokeOpacity: 1,
strokeWeight: 3,
fillColor: 'transparent'
});
},
mousemove: function(e) {
if (!circle) {
return ;
}
var distance = calculateDistance(circle.getCenter().lat(), circle.getCenter().lng(), e.latLng.lat(), e.latLng.lng());
circle.setRadius(distance);
}
});