我已在标记上实现了带有标记和侦听器的地图。
...
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);
}
但是,当听众触发时,事件纬度和经度是标记而不是鼠标。因此,我试图显示的右键菜单显示在标记的底部而不是鼠标位置。
有人知道这是错误还是预期的行为?
答案 0 :(得分:0)
虽然文档说明MouseEvent
事件的LatLng
是“事件发生时光标下方的纬度/经度”,但它是版本2中标记的位置。
第3版中的行为可能会相同。我不相信这是一个错误,虽然我可以看到它会产生意外的右键单击结果。
您可能需要使用DOM右键单击事件(尽管如此,如果不是不可能将其与标记关联起来将很困难。)