Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: GOOGLE API MAPS - zamykanie opisu markera
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
smarcz
Mam taki kod mapy googla która wyświetla zdefiniowane markery. Obok mapy wyświetlam menu z linkami. Jeżeli ktoś najedzie na link przesuwam obraz mapy do wybranego markera i otwieram openInfoWindowHtml(). Problem jak zamknąć aktywny opis markera po zjechaniu z linku i nie wybraniu zadnego innego:

  1. <script type="text/javascript">
  2. <!-- <![CDATA[
  3.  
  4. var markery = new Array();
  5. var punkty = new Array(
  6. new Array(52.2468820, 21.0483881, "Teatr Powszechny", "pl. Defilad 2"),
  7. new Array(52.2373101, 21.0328460, "Teatr Ateneum", "ul. Jaracza 2"),
  8. new Array(52.2318381, 21.0059946, "Teatr Dramatyczny", "pl. Defilad 1")
  9. );
  10.  
  11.  
  12. function pokaz(i) {
  13. GEvent.trigger(markery[i], "click");
  14. }
  15.  
  16. //->tu moj kod ale nie dziala
  17. function ukryj(i) {
  18. GEvent.trigger(markery[i], "mouseout");
  19. }
  20. //-koniec
  21.  
  22.  
  23. function nowymarker(lat, lng, txt, adres) {
  24. var marker = new GMarker(new GLatLng(lat, lng));
  25. GEvent.addListener(marker, "click", function() {
  26. var info='<div style="background-color: #fff; width: 320px; font-size: 11px; FONT-FAMILY: Verdana, Tahoma, Arial, Sans-Serif;" align="center"><B>'+txt+'</B><hr>'+adres+'</div>';
  27. marker.openInfoWindowHtml(info);
  28. });
  29. GEvent.addListener(marker, "mouseout", function() {
  30. map.closeInfoWindow(info);
  31. });
  32. markery.push(marker);
  33. return marker;
  34. }
  35.  
  36. function load() {
  37. if (GBrowserIsCompatible()) {
  38. var map = new GMap2(document.getElementById("map"));
  39. map.setCenter(new GLatLng(52.24, 21.00), 13);
  40. map.addControl(new GLargeMapControl());
  41. map.addControl(new GMapTypeControl());
  42. map.enableContinuousZoom();
  43. map.enableDoubleClickZoom();
  44.  
  45.  
  46. for(var i=0; i<punkty.length; i++) {
  47. map.addOverlay(nowymarker(punkty[i][0], punkty[i][1], punkty[i][2], punkty[i][3]))
  48. }
  49.  
  50. }
  51. }
  52.  
  53. // ]]> -->


MENU:
  1. <a href="#" onmouseover="javascript:pokaz(0)" onmouseout="javascript:ukryj(0)">Teatr Powszechny</a>
  2. <a href="#" onmouseover="javascript:pokaz(1)" onmouseout="javascript:ukryj(1)">Teatr Ateneum</a>
  3. <a href="#" onmouseover="javascript:pokaz(2)" onmouseout="javascript:ukryj(2)">Teatr Dramatyczny</a>
sowiq
Cytat
closeInfoWindow() : Closes the currently open info window.

http://code.google.com/intl/pl/apis/maps/d...closeInfoWindow
smarcz
W kodzie jest zastosowana ta komenda w funkcji nowegomarkera
  1. GEvent.addListener(marker, "mouseout", function() {
  2. map.closeInfoWindow(info);
  3. });


być może, źle napisana jest przezemie ta funkcja
sowiq
Cytat(smarcz @ 10.01.2009, 13:42:58 ) *
W kodzie jest zastosowana ta komenda w funkcji nowegomarkera
  1. GEvent.addListener(marker, "mouseout", function() {
  2. map.closeInfoWindow(info);
  3. });


być może, źle napisana jest przezemie ta funkcja
Jest. Nie zajrzałeś do linka, który Ci podałem. Nie map.closeInfoWindow(info);, tylko closeInfoWindow(); To nie jest metoda, tylko zwykła funkcja - wywołujesz ją bez parametrów i w kontekście obiektu.
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-2025 Invision Power Services, Inc.