Zeigen Kontext-Menü-Taste (marker)
Ich habe diesen code für Kontextmenü und es funktioniert Prima
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);
});
Meine Frage ist, warum dies nicht funktioniert, nicht die gleiche Sache, aber klicken Sie auf ist jetzt startMarker *klicken Sie auf*?
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);
});
Und der rest des Codes
//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;
});
InformationsquelleAutor svenkapudija | 2011-02-28
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bekam ich auf aktivieren Sie das Kontext-Menü der rechten Maustaste auf die Karte und markieren Sie die Schritte:
1) Erstellen Sie eine neue MapCanvasProjection zu verwenden fromLatLngToContainerPixel Funktion:
2) Für Jeden Marker umfassen Rechtsklick Hörer:
3) Ersetzen Sie die Rechtsklick-Listener Anzeigen:
InformationsquelleAutor Cleber Gouvea
Marker-Ereignis (e) nicht zurück, einer pixel-Objekt oder ein latLng-Objekt (anders als bei einem map event) - es gibt nur x & y-Koordinaten des Ereignisses - also die folgenden Zeilen in der code funktioniert nicht für die Marke
Bekommen Koordinaten, die Sie benötigen, um zu ersetzen Sie die obigen Zeilen mit
Werden Sie nicht in der Lage zu bekommen latLng-Objekt durch klicken auf den marker. Ich nehme an beste Weg, um zu bekommen, dass ist zu Lesen, das Objekt aus der Eigenschaft der marker selbst.
InformationsquelleAutor Michal