Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][JavaScript] Iframe i czasowe odświerzanie
northwest
post
Post #1





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


Witam serdecznie,
Próbuje zrobić na swojej stronce listę firm opartych na google maps.
Co około 2 sekundy strona z mapkami google ma się przeładowywać i nakładać nowe punktu naniesione przez użytkowników mojej strony.
Widziałem takie rozwiązanie na pewnej stronie i tam wszystko ładnie się w locie przeładowywało (niewidocznie dla użytkownika).

Zrobiłem coś takiego:
http://panoramaofert.pl/maps.php

(maps.php i maps2.php)

Zrobiłem iframe który zczytuje plik maps2.php.
Jak widać wygląda to nie najlepiej - widać przeładowania... :///

Wiecie może jak to zrobić żeby nie były aż tak widoczne??


Z góry dzięki za pomoc,
Pozdrawiam Northwest
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
m87
post
Post #2





Grupa: Zarejestrowani
Postów: 21
Pomógł: 4
Dołączył: 5.07.2008

Ostrzeżenie: (0%)
-----


Wydaje mi się, że źle do tego podchodzisz. Nie pamiętam teraz dokładnie dokumentacji tego apletu google maps, ale tam chyba można dodawać dynamicznie te znaczniki (punkty) przez JS. Moje rozwiązanie wyglądało by tak, że baza punktów leży gdzieś sobie w MySQLu, a dane te są wyciągane przez AJAXa i dynamicznie dodawane.

Ogólnie odświeżanie co 2s to słaby pomysł... Przy kilkudziesięciu użytkownikach naraz serwer Ci strasznie zamuli...
Go to the top of the page
+Quote Post
northwest
post
Post #3





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


a masz może jakiś przykład tego??(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

a jaki Ty byś dał czas odświeżania?? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
m87
post
Post #4





Grupa: Zarejestrowani
Postów: 21
Pomógł: 4
Dołączył: 5.07.2008

Ostrzeżenie: (0%)
-----


Nie mam niestety przykładu, może jak będę miał chwilę wolnego to spróbuję coś takiego napisać na szybko (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Czas odświeżania - myślę, że nie częściej niż co 30s. Wszystko zależy od ilości użytkowników i mocy serwera (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Chciałeś zrobić co 2s. Załóżmy, że w tym samym momencie będzie 20 użytkowników oglądających mapę. To nam daje 10 zapytań do serwera na sekundę. Nie znam się co prawda dobrze na specyfice serwerów www, ale wydaje mi się, że to sporo. Postaw na swoim komputerze Apache'a i odświeżaj stronę 10x na sekundę (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ogólnie całość można jeszcze trochę zoptymalizować zapisując czas ostatniej zmiany bazy punktów i każdego punktu z osobna. Wtedy nie wysyłamy przy każdym odświeżeniu pełnej listy punktów tylko ewentualnie punkty, które zostały dodane od ostatniego odświeżenia, a jeśli czas ostatniej zmiany bazy jest starszy niż aktualny to w ogóle nic nie przesyłamy. Trochę to zakręcone, ale dość logiczne (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
northwest
post
Post #5





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


Noo jak byś mi przygotował taki przykład to byłbym baaaaardzo wdzięczny (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) )
W sumie chyba masz rację z tymi zapytaniami... może się zamulić serwer...

z tymi czasami co mówisz to troszkę zamotane i chyba nie będzie potrzebne;)

ps. da się to zrobić tak że nie będzie widać tego efektu "przeładowania"??(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
m87
post
Post #6





Grupa: Zarejestrowani
Postów: 21
Pomógł: 4
Dołączył: 5.07.2008

Ostrzeżenie: (0%)
-----


Cytat
ps. da się to zrobić tak że nie będzie widać tego efektu "przeładowania"??smile.gif


Naturalnie, wtedy mapa jako taka nie będzie w ogóle przeładowywana, będą jedynie do niej dodawane nowe punkty.
Go to the top of the page
+Quote Post
northwest
post
Post #7





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


ooo to super (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) )
Jakbyś mi przygotował taki przykład to byłbym Ci naprawdę baaaardzo wdzięczny (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ))
Go to the top of the page
+Quote Post
m87
post
Post #8





Grupa: Zarejestrowani
Postów: 21
Pomógł: 4
Dołączył: 5.07.2008

Ostrzeżenie: (0%)
-----


Ok, coś tam napisałem (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Więc tak:

http://shells.pl/marszall/google_maps/index.php - Główna strona z mapą, czyli to co ma się odświeżać.

http://shells.pl/marszall/google_maps/maps.js - Skrypt odpowiedzialny za to całe odświeżanie i mapę, jak widać w funkcji loadPointData() dane ładowane są z pliku points.php.

http://shells.pl/marszall/google_maps/points.php - Skrypt php, który wyciąga z bazy mysql informacje o punktach (długość, szerokość i opis) i wypisuje je w odpowiedni sposób (JSON) - chyba dość zrozumiałe.

http://shells.pl/marszall/google_maps/dodaj.php - Tutaj dodajemy punkty, w pole szukaj możemy wpisać miasto, ulicę, cokolwiek i kliknąć szukaj - jeśli google znajdzie lokalizację to współrzędne zostaną wpisane do pól poniżej. Klikamy dodaj i php dodaje te dane do bazy mysql. Oczywiście możemy wpisać dane ręcznie.

Jeśli chcesz zobaczyć jak to działa to otwórz index.php i dodaj.php w osobnych okienkach przeglądarki, dodaj jakiś punkt i po kilku sekundach powinien się pojawić na mapie w index.php (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Nie chciało mi się bawić w sprawdzanie dat dodania itd, więc jak tylko baza się zmieni to wszystkie punkty z mapy są usuwane i dodawane na nowo. Trochę to widać, ale można by to poprawić tak jak mówiłem - wysyłać tylko listę punktów które zostały dodane/zmienione. Chociaż z tym byłoby trochę zabawy (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
northwest
post
Post #9





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


super, dzięki WIELKIE (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) )
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 23:57