Moja aplikacja ma bazę z adresami, niech to będą np. stacje benzynowe.
Wyszukiwanie: użytkownik podaje swój aktualny adres i maksymalną odległość, a aplikacja pokazuje zaznaczone na mapie stacje w podanym maksymalnym promieniu/odległości.
Może ktoś mi podpowie jak się za to zabrać …?
Jak na razie dotarłem do tego, że chyba najlepiej będzie wykorzystać GeoKit…?
Sphinx ma wbudowane wyszukiwanie lokacji będących najbliżej podanego miejsca. Dodatkowo można tam bardzo łatwo poustawiać powiązania dzięki czemu nie trzeba bawić się w różnego rodzaju inner joiny obciążające bazę danych.
Jeżeli chcesz zrobić dodatkowo filtrowanie po jakichś atrybutach, to thinking sphinx będzie jak ulał.
Mam teraz inne pytanie
Wiadomo, że za pomocą GeoKit podając współrzędne lub adres można wyznaczyć punkt na mapie, ale czy działa to w drugą stronę? Klikając punkt na mapie dostajemy informację zwrotną ze współrzędnymi…?
Przejrzałem trochę tutoriali i żaden nie opisuje takiej funkcjonalności.
Oczywiście że jest callback po umieszczeniu znacznika, zwracający dokładnie parę długość, szerokość (oczywiście floaty). To chyba pierwszy opisywany w dokumentacji
Natomiast ustalenie najbliższego adresu do danego punktu – to tego już nie wiem.
Konkretnie. Rozpatruję taką sytuację. Użytkownik chce dodać nowy punkt, ale nie zna adresu ani współrzędnych, więc klika na mapę i adres lub współrzędne danego punktu przychodzą jako zwrot i są zapisywane do bazy.
Sokoro mówicie, że się da to super.
Muszę zacząć dokładniej czytać dokumentację …i instrukcję do sprzętów AGD
Trzeba tutaj rozróżnić 2 rzeczy: interakcja z mapą po stronie klienta (Google Maps API) i GeoKit (geolokalizacja po stronie serwera, przechowywanie danych w bazie etc., rozne helpery do Rubiego)
Jeśli chodzi nam o “klikanie punktu na mapie” to trzeba zacząć od Google Maps API, ewentualnie dodając funkcje, które będą wysyłać dane do serwera (jeśli mają być przechowywane). Geokit’a nie mieszałbym do tego - jeśli piszemy wysoce “interaktywną” aplikację to nie ma lekko - trzeba zakasać rękawy, wyciągnąć tą zakurzoną książkę “Javascript w 24h”, skonfigurować swój ulubiony edytor do pracy z JS i zabrać się do roboty
User ma mieć możliwość dodania lokalizacji. Wyświetlana jest Gmapka - kolo sobie klika i w tym miejscu pojawia się marker. Po dodaniu innych atrybutów i kliknięciu dodaj - nowa lokalizacja ma być zapisana do bazy.
Doszedłem do punktu, w którym mam longitude i latitude w parametrach.
Ponieważ js nie do końca jeszcze ogarniam, nie wiem jak to przekazać do create i w ogóle nie jestem pewien czy tędy droga - czy znalazłby się ktoś, kto by mnie tu trochę poprowadził, ew. jakiś tutorial wskazał … ??
Właśnie rozgryzam ten temat i wydaje mi się, że obsługę Gmapki wrzuciłbym w całości do JS. Klikasz Gmapkę i JS ustawia marker i wrzuca dane w pola formularza. Następnie użytkownik wypełnia, co tam jeszcze ma wypełnić i Submit …
też mi się wydaje że to najlepsza droga … nie wiem dlaczego po zapisaniu do bazy ucina mi długość i szerokość geograficzną (floaty) do 4 miejsc po przecinku ??