Pokazywanie i ukrywanie kontrolek mapy

Kontrolki do sterowania mapą (poziom zoomu, przesuwanie, zmiana typu mapy itp.) zajmują cenne miejsce w kontenerze, skutecznie ograniczając widoczność. Jest to szczególnie widoczne w przypadku niewielkich map. Wprowadzimy udogodnienie - kontrolki będą się pokazywały tylko wtedy, kiedy mysz znajdzie się nad obiektem mapy, z kolei gdy będzie poza nim kontrolki będą ukryte. Tym sposobem osiągnięmy kompromis między widocznością, a funkcjonalnością.
Kluczowe metody
Obiekt mapy posiada dwie metody, służące do pokazywania i ukrywania kontrolek: odpowiednio showControls() i hideControls(). Przypisując je odpowiednio do zdarzeń mouseover (mysz wchodzi na obszar mapy) oraz mouseout (mysz opuszcza obszar mapy) osiągniemy zamierzony efekt:
GEvent.addListener(mapa,'mouseout',function() { mapa.hideControls(); }); GEvent.addListener(mapa,'mouseover',function() { mapa.showControls(); });
Oprócz tego, dodamy specjalną linię kodu, która ukryje kontrolki, by nie były widoczne przy starcie mapy:
GEvent.trigger(mapa,'mouseout');
Powyższy kod po prostu zasymuluje wykonanie zdarzenia mouseout na obiekcie mapy. Zobacz, jak działa ukrywanie/pokazywanie kontrolek w przykładzie przykład 1pokaż kod przykładu
Pytania czytelników
- Jak ukryć logo Google i napis o prawach autorskich?
Funkcja hideControls() nie działa na logo Google oraz na napis o prawach autorskich. W API istnieje nieudokumentowany parametr funkcji GMap2(), którego nazwa sugerowałaby, że ukrycie jest możliwe, ale w rzeczywistości nie daje to żadnych efektów. Należy pamiętać o tym, że usuwanie logo Google oraz dostawców map jest niezgodne z zasadami użycia API. Prostą metodę ukrywania napisu o prawach autorskich opisałem w przykładzie 25.3 w tej części kursu