我有這樣的代碼爲上下文菜單和它的正常工作顯示上下文菜單(標記)
google.maps.event.addListener(map, 'rightclick', function(e)
{
// start buy hiding the context menu if its open
contextMenu.hide();
var mapDiv = $(map.getDiv()),
x = e.pixel.x,
y = e.pixel.y;
// save the clicked location
clickedLatLng = e.latLng;
// adjust if clicked to close to the edge of the map
if (x > mapDiv.width() - contextMenu.width())
x -= contextMenu.width();
if (y > mapDiv.height() - contextMenu.height())
y -= contextMenu.height();
// Set the location and fade in the context menu
contextMenu.css({ top: y, left: x }).fadeIn(100);
});
我的問題是,爲什麼這是行不通的,同樣的事情,但點擊現在startMarker * click *?
google.maps.event.addListener(startMarker, 'click', function(e) {
// start buy hiding the context menu if its open
contextMenu.hide();
var mapDiv = $(map.getDiv()),
x = e.pixel.x,
y = e.pixel.y;
// save the clicked location
clickedLatLng = e.latLng;
// adjust if clicked to close to the edge of the map
if (x > mapDiv.width() - contextMenu.width())
x -= contextMenu.width();
if (y > mapDiv.height() - contextMenu.height())
y -= contextMenu.height();
// Set the location and fade in the context menu
contextMenu.css({ top: y, left: x }).fadeIn(100);
});
和代碼
// Create the context menu element
var contextMenu = $(document.createElement('ul')).attr('id', 'contextMenu');
// Fill our context menu with links
contextMenu.append(
'<li><a href=\"#startMenu\">Start</a></li>' +
'<li><a href=\"#stopMenu\">End</a></li>'
);
// Disable the browser context menu on our context menu
contextMenu.bind('contextmenu', function() { return false; });
// Append it to the map object
$(map.getDiv()).append(contextMenu);
// Set some events on the context menu links
contextMenu.find('a').click(function()
{
// fade out the menu
contextMenu.fadeOut(75);
// The link's href minus the #
var action = $(this).attr('href').substr(1);
switch (action) {
case 'startMenu':
$.get('something1.php', method1);
break;
case 'stopMenu':
$.get('something2.php', method2);
break;
}
return false;
});
但我得到真正的X,Y座標 - 我需要那些像素 - 我應該使用fromLatLngToContainerPixel與OverelayView還是...? – svenkapudija 2011-03-01 07:30:33