Googleマップをクリックして(中心を設定する)、マップ上を移動して(半径を設定する)円を描きたいと思います。
円を大きくすると機能しますが、円を小さくすると機能しません。
問題は、mousemove イベントが円を通過しないため、マウスが円の上にあるときにマップがマウスマウスを起動しないことです...
これがフィドルです: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);
}
});