Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: gmaps i prawy przycisk myszy
Forum PHP.pl > Forum > XML, AJAX > AJAX
koneser69
Witam

Poniższy kod działa. Po kliknięciu lewym przyciskiem myszy pojawia się komunikat. Jak zrobic to samo ale po kliknięciu prawym przyciskiem myszy. Chciałbym stworzyć coś w rodzaju menu kontekstowego.

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
  6. <title>test</title>
  7.  
  8.  
  9. <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false&amp;key=klucz&amp;hl=pl" type="text/javascript">
  10. </script>
  11.  
  12.  
  13. <script type="text/javascript">
  14.  
  15.  
  16. function load()
  17. {
  18. if (GBrowserIsCompatible()) {
  19. map = new GMap2(document.getElementById("map"));
  20. map.setCenter(new GLatLng("51.165643963", "17.314895629882812"), 15);
  21. }
  22.  
  23. GEvent.addListener(map, "click", function(overlay, point){
  24. if(!overlay)
  25. map.openInfoWindowHtml(point, 'test');
  26. });
  27. }
  28.  
  29. </script>
  30.  
  31. <body onload="load();" onunload="GUnload()" style=" background-color:Transparent">
  32. <div id="map" style="width: 900px; height: 500px"></div>
  33. </body>
  34. </html>
kafowi
Zamiana na prawy z lewo, a dalej co tylko dusza zapragnie.
Kod
    GEvent.addListener(map, "rightclick", function(overlay, point){
        if(!overlay)
            map.openInfoWindowHtml(point, 'test');
    });
koneser69
Witam

A przetestowałeś ten kod. U mnie to nie działa Działa mi tylko click i dblclick. Widziałem jeszcze przykłady z singleclick które też mi nie chodzią.

  1.  
  2. GEvent.addListener(map, "dblclick", function(overlay, point){
  3. if(!overlay)
  4. map.openInfoWindowHtml(point, 'test');
  5. });
  6.  
kafowi
Cytat(koneser69 @ 10.07.2015, 18:26:12 ) *
Witam

A przetestowałeś ten kod. U mnie to nie działa Działa mi tylko click i dblclick. Widziałem jeszcze przykłady z singleclick które też mi nie chodzią.

  1.  
  2. GEvent.addListener(map, "dblclick", function(overlay, point){
  3. if(!overlay)
  4. map.openInfoWindowHtml(point, 'test');
  5. });
  6.  

Nie miałem możliwości bo nie posiadam klucza. Sprawdzałem na przykładzie z w3school:
- http://www.w3schools.com/googleapi/tryit.a...ker_infowindow2
Po zamianie click na rightclick działa na prawym przycisku.
Patrząc po kodzie można jeszcze zauważyć, że nigdzie nie masz zamknięcia znacznika <head>.
koneser69
Witam

Może i zapomniałem zamknąć znacznik <head> ale to tylko przykład. Tamten kod jest całkiem inny. Ja korzystam z Gmap2 a tam jest Gmap. Moja aplikacje jest za bardzo rozbodowana aby ją przerabiać. Dlatego też zadałem to pytanie na tym forum. Czy ktoś ma jakieś inne pomysły czemu to nie działa. Może należy dodać jakąś bibliotekę?

  1.  
  2. U mnie inicjalizacja mapy wygląda tak
  3. map = new GMap2(document.getElementById("map"));
  4.  
  5. a tam tak
  6. map = new google.maps.Map(document.getElementById("map"),mapProp);
  7.  
  8. tak samo inaczej wywołuje się te zdarzenia
  9. GEvent.addListener(map, "dblclick", function(overlay, point){
  10. if(!overlay)
  11. map.openInfoWindowHtml(point, 'test');
  12. });
  13.  
  14. a tam
  15.  
  16. google.maps.event.addListener(map, 'rightclick', function(event) {
  17. placeMarker(event.latLng);
  18. });
  19.  
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.