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)







