状況は次のとおりです。
私のGoogleマップでは、ユーザーがGMarkerの上にマウスを移動するたびにHTML情報ウィンドウを開こうとしています。ポインタがマーカーの外にあるときは、このウィンドウを閉じる必要があります。
GEvent.addListener(my_marker, "mouseover", function() {
MaCarte.openInfoWindowHtml(new GLatLng(my_marker.getLatLng().lat()+0.002, my_marker.getLatLng().lng()+0.001),"some text");
});
GEvent.addListener(my_marker, "mouseout", function() {
if((MaCarte.getInfoWindow().getPoint().lat() == my_marker.getLatLng().lat()+0.002)
&& (MaCarte.getInfoWindow().getPoint().lng() == my_marker.getLatLng().lng()+0.001))
MaCarte.closeInfoWindow();
});
何が起こるかというと、onmouseoutイベントの発生が早すぎるため、情報ウィンドウがその直後に開閉します。
私の推測では、マウスはもはやマーカーの上ではなく、情報ウィンドウの上にあり、マウスアウトが発射されます。
ポインタが実際にマーカーから外れるまで情報ウィンドウを開くにはどうすればよいですか?