![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 0 Dołączył: 30.03.2009 Skąd: Sępólno Krajeńskie Ostrzeżenie: (0%) ![]() ![]() |
Mianowicie mam taki problem. Tworzę mapę google która ma checkboxy i jedne są do rodzaju (w bazie danych każdy rekord ma jedną wartość czyli np. LED albo Banner) a drugie natomiast ma otoczenie i tu jest problem bo w otoczeniu może być więcej rzeczy w tablicy czyli np. szkoła,akademik,obiekty sportowe itd. Pierwszy checkbox mi działa i klikając odznaczająć np LED znikają mi z mapy wszystkie markery które miały LED w rodzaju. Natomiast to już nie działa z otoczeniem
![]() Kod <div id="otoczenieBelka" style="color: #000; font-style: italic;"> to jest kod odpowiedzialny za checkboxy <input checked="checked" id="oto1" type="checkbox" onclick="rysuj('oto1','szkoły')" /> szkoły <input checked="checked" id="oto2" type="checkbox" onclick="rysuj('oto2','akademik')" /> akademik <input checked="checked" id="oto3" type="checkbox" onclick="rysuj('oto3','centra handlowe')" /> centra handlowe <input checked="checked" id="oto4" type="checkbox" onclick="rysuj('oto4','puby')" /> puby </div> <div id="kategorieBelka" style="color: #000; font-style: italic;"> <input checked="checked" id="kat1" type="checkbox" onclick="przerysuj('kat1','LED')" /> LED <input checked="checked" id="kat2" type="checkbox" onclick="przerysuj('kat2','Banner')" /> Banner <input checked="checked" id="kat3" type="checkbox" onclick="przerysuj('kat3','ulotka')" /> ulotka <input checked="checked" id="kat4" type="checkbox" onclick="przerysuj('kat4','przystanek')" /> przystanek </div> a to jest kod odpowiedzialny za obsługę checkboxów Kod function ukryjPokazKategorie(kategoria,pokaz) { // kategoria oznacza id kategorii której widzialno¶ć trzeba zmienić // je¶li pokaz = false, to znaczy że mamy ukryć, w przeciwnym wypadku pokazać // dla każdego z markerów for(var i=0; i<markery.length; i++) { // je¶li poszukiwana kategoria jest kategori± markera if(markery[i].kategoria==kategoria) { // to go ukrywamy lub pokazujemy, w zależno¶ci od argumetu pokaz if(pokaz==true) markery[i].show(); else markery[i].hide(); } } } GMarker.prototype.pokazInfo=function() { this.openInfoWindowTabsHtml(this.opis1); }; function rysuj(checkbox,otoczenie) { // je¶li kliknięty checkbox jest zaznaczony, to wywołujemy funkcję z parametrem, mówi±cym że ma pokazać markery // je¶li kliknięty checkbox nie jest zaznaczony, to wywołujemy funkcję z parametrem, mówi±cym że ma ukryć markery if(document.getElementById(checkbox).checked) ukryjPokazOtoczenie(otoczenie,true); else ukryjPokazOtoczenie(otoczenie,false); odswiezSidebar(); } // ta funkcja pokazuje lub ukrywa markery danej kategorii, zgodnie z przekazanymi argumentami function ukryjPokazOtoczenie(otoczenie,pokaz) { // kategoria oznacza id kategorii której widzialno¶ć trzeba zmienić // je¶li pokaz = false, to znaczy że mamy ukryć, w przeciwnym wypadku pokazać // dla każdego z markerów for(var i=0; i<markery.length; i++) { // je¶li poszukiwana kategoria jest kategori± markera if(markery[i].otoczenie==otoczenie) { // to go ukrywamy lub pokazujemy, w zależno¶ci od argumetu pokaz if(pokaz==true) markery[i].show(); else markery[i].hide(); } } } GMarker.prototype.pokazInfo=function() { this.openInfoWindowTabsHtml(this.opis1); }; oczywiście jeszcze mam zdefiniowane takie coś Kod mapa.addOverlay(marker); marker.kategoria = kategoria; marker.otoczenie = otoczenie.split(","); markery.push(marker); i w tym momencie jeśli mam gdzieś jedno otoczenie np. szkoły to mi odznacza ale jeśli mam już szkoły,akademik to już nic się nie dzieje proszę o pomoc. Ten post edytował szlipek 6.04.2009, 08:11:14 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 18:13 |