Input your search keywords and press Enter.

IPS Community Suite i problemy ze współrzędnymi geograficznymi

Pisząc nową wersję (SD) Company Directory przeznaczoną dla IPS Community Suite natrafiłem na jeden dość poważny problem. Chodzi tutaj o geolokalizację profilów.Jak zapewne wiecie podczas tworzenia profilu firmy w (SD) Company Directory musimy zaznaczyć dokładne położenie firmy na mapie. Współrzędne te są zapisywane w formacie koordynatów długości i szerokości geograficznej np. 50.0466814 oraz 19.8647899. Takie też dane są zapisywane w bazie w polu typu FLOAT(10,6). Taki typ pola jest zalecany ogólnie do zapisu położenia. W 99,99% przypadków działa to dobrze, ale zgłosił się do mnie jeden z klientów, który miał z tym dość poważny problem, mianowicie okazało się, że wyświetlając profil w/w współrzędne zamieniają się w 50 i 19 co sprawia, że pokazywana jest nieprawidłowa lokalizacja.

Sporo czasu zajęło ustalenie co jest przyczyną i czemu dzieje się to tylko na niektórych serwerach (tutaj akurat godady). Okazało się że przyczyną tego stanu rzeczy jest sam skrypt IPS Community Suite, który ma problem z danymi typu float zapisanymi w bazie. Problem ten nie został rozwiązany nawet w najnowszej wersji (4.1.7 na dzień pisania tego wpisu), ale jest dość prosty trik, który naprawia ten błąd, a mianowicie wystarczy zamienić pole FLOAT(10,6) na pole typu DECIMAL(10,6) i wszystko zaczyna działać jak należy.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

 

Przeczytaj poprzedni wpis:
Czy to już początek sezonu motocyklowego?

Ostatni weekend stycznia 2016 nie przypominał innych, które były w tej porze roku. Kto by pomyślał że w styczniu, czyli...

Zamknij