2009-07-21 1 views
5

Gibt es Kontextmenüs für Google Maps v3?Google Maps v3 - Kontextmenü verfügbar?

+0

Neben den guten Beispielen unten suche ich immer noch nach einer Bibliothek, die ich verwenden könnte, mir Kapselung und praktischen Funktionen zu geben. Bitte lassen Sie mich wissen, wenn Sie so etwas finden. –

Antwort

-2

Noch keine. Google arbeitet jetzt an einem.

1

alte Frage, aber es kam in meinem googeln, so dachte ich, ich würde die einfachste Antwort schreiben . Es ist ein Kontextmenü ohne die Verwendung von mehr js-Bibliotheken von Drittanbietern. Es gibt auch ein Latlon-Objekt für den Fall, dass Sie das lat/lon für den Ort erhalten, an dem die Person geklickt hat, um einen Hersteller oder was auch immer hinzuzufügen.

var contextMenu = google.maps.event.addListener(
     map, 
     "rightclick", 
     function (event) { 
      // use JS Dom methods to create the menu 
      // use event.pixel.x and event.pixel.y 
      // to position menu at mouse position 


      $('.contextmenu').remove(); //remove previous context menus 
      contextmenuDir = document.createElement("div"); 
      contextmenuDir.className = 'contextmenu'; 
      //now add our options. 
      contextmenuDir.innerHTML = '<a id="menu1"><div class="context">menu item 1<\/div><\/a>' 
            + '<a id="menu2"><div class="context">menu item 2<\/div><\/a>'; 

      $(map.getDiv()).append(contextmenuDir); 

      contextmenuDir.style.visibility = "visible"; 

       // might need to offset if you have moved the map div like i did (then - the pixel size off) 
       $('.contextmenu').css('left', event.pixel.x); 
       $('.contextmenu').css('top', event.pixel.y); 

       console.log(event); //log some details about the object we get 
      }); 
+0

> "ohne die Verwendung von mehr js Bibliotheken von Drittanbietern" Looks wie Sie Jquery in diesem Code verwenden. – Gerry

+0

ah wahr, lassen Sie mich dort neu phasen. Es funktioniert ohne zusätzliche Mapping-Bibliotheken von Drittanbietern. – Mark