Wyszukiwanie markerów as-you-type
W poradniku Dodanie funkcjonalnego paska bocznego został opisany sposób na dodanie bocznego baska, w którym zawarta by była lista markerów z mapy. Rozwiązanie to dawało dobre efekty dla małej ilości markerów. Gdy ilość markerów jest zbyt duża, warto zapewnić możliwość wyszukiwania. Dodatkowo, jak pamiętasz z lekcji Debugowanie skryptów dla początkujących należy zoptymalizować aplikację, poprzez korzystanie z menedżera markerów. W tym poradniku zbudujemy od podstaw nową aplikację, która spełniać będzie powyższe założenia (menedżer markerów, wyszukiwarka).
Napisanie prostej wyszukiwarki nie jest trudne, toteż w tej części kursu stworzymy program, wyszukujący w trybie "as-you-type". Wyszukiwanie tego typu oznacza, że proces wyszukiwania odbywa się na bieżąco w trakcie wpisywania kolejnych liter. Przykładowo, jeśli wpiszemy fragment "ma", to pokażą się między innymi takie pozycje jak Mama's Pizza, Mario's Seawall Italian Restaurant itp. Dodanie jednej literki m spowoduje, że na liście pozostanie już tylko Mama's Pizza.
Dane
Dane o markerach przechowywane będą w bazie MySql. Dla mniejszej ilości markerów wyszukiwanie może odbywać się z poziomu JavaScript, jednakże metoda z bazą MySql daje znacznie większe możliwości (filtrowanie, szukanie, sortowanie, wiele warunków itp.). Dla celów tego poradnika skorzystam z bazy, stworzonej w poradniku Wczytanie najbliżej położonych punktów.
Część bazodanowa
Sortowanie i filtrowanie wyników spoczywać będzie na mechanizmach bazy danych. W PHP konieczne jest natomiast zadanie zapytania, odebranie i przetworzenie go, a następnie zwrócenie w oczekiwanej postaci. W celu optymalizacji szybkości, wybrałem do tego format JSON. Szczegóły na ten temat w tym poradniku. Poniżej zamieszczam gotowy kod:
To tylko fragment całego artykułu. Pełny poradnik ma około 13400 znaków (wartość szacunkowa)
Dostęp do wybranych poradników jest płatny. Płatność odbywa się za pomocą SMSa, po wysłaniu którego otrzymasz kod dostępu do strony. Kod jest ważny przez 9 dni od daty pierwszego użycia, jeden kod odblokowuje na ten okres czasu wszystkie poradniki (płacisz raz, czytasz wiele razy). Koszt jednego SMSa, pozwalającego na 9 dni dostępu do materiałów premium to jedynie 9zł + VAT. O bezpieczeństwo transakcji dba Wapacz, a wiarygodność zapewniają setki zadowolonych klientów.
Płatności SMS pozwalają na szybkie uiszczenie opłaty i natychmiastową realizację transakcji. Kod dostępu do strony otrzymasz SMSem zwrotnym w ciągu kilkunastu sekund od wysłania premium SMSa:
| okres | cena | sposób zapłaty | |
|---|---|---|---|
| 9 dni | 9 PLN + VAT | SMS o treści MP.GMAPSAPI pod numer 7916 |
Jeśli masz już kod...
Wpisz kod w poniższe pole. Wielkość znaków nie ma znaczenia:
Co zyskasz?
- dostęp do profesjonalnie napisanych poradników (jeden kod daje dostęp do wszystkich poradników),
- dostęp do praktycznych przykładów zaawansowanych zastosowań API (jeden kod daje dostęp do wszystkich przykładów),
- brak reklam na stronie (na wszystkich podstronach),
- kod będzie aktywny przez cały swój okres ważności dla wszystkich poradników (także tych, które się w tym okresie pojawią).
Nazw zastrzeżonych użyto w celu identyfikacji produktu oraz w celach informacyjnych. Autor strony nie jest związany z firmą Google. Zawartość strony, w tym teksty i obrazki są chronione prawem autorskim, i należą do autora strony, o ile nie stwierdzono inaczej. Autor nie odpowiada za straty, jakie może nieść szczególnie niewłaściwe użycie API. Strona używa poprawnego języka XHTML STRICT i CSS. Autor dołożył wszelkich starań w celu zapewnienia poprawności działania skryptów, lecz nie może zapewnić, że są one wolne od błędów. Strona jest monitorowana przez oprogramowanie do generowania statystyk Piwik. Copyright © 2007-2009 Poznaj Google Maps API
