マーカ上にマーカーとリスナーを含むマップを実装しました。Google Maps API v3 MouseEventマウスの位置ではなくマーカの位置を返す
...
google.maps.event.addListener(marker,'rightclick',function(event) {showRightClick(event, map, marker);});
...
// Show Right Click Menu
function showRightClick(event, map, marker) {
var point = map.getCanvasProjection().fromLatLngToContainerPixel(event.latLng);
var scriptInterface = getHeader();
var screenX = point.x + window.screenLeft;
var screenY = point.y + window.screenTop;
scriptInterface.rightClick(marker.name, marker.objectid, marker.dimobjectid, screenX, screenY);
}
ただし、リスナーがトリガーすると、イベントの緯度と経度はマウスではなくマーカーのものになります。したがって、表示しようとしている右クリックメニューは、マウスの位置ではなくマーカーの下部に表示されます。
これはバグか予想される動作であるかどうかは知りませんか?
マウスの絶対位置に基づいてページを基準にメニューを表示し、マップを完全に無視するだけでは(マーカオブジェクトを除いて)簡単にはできません。また、MAPの右クリックはマウスの位置です。マーカー上のイベントは常にマーカーの位置になります。 – whiteatom