Skocz do zawartości

Wybór miejscowości z ok. 40k - jak to najlepiej zrobić (interfejs webowy)?


ethanak

Pomocna odpowiedź

Jak w temacie. Mam aplikację komunikującą się przez www. Jedna z możliwości to wybór miejscowości z listy (ok 40000). Odpadają wszelkie próby wyświetlania list pod polem wpisania nazwy - zakładam, że użytkownik korzysta z VoiceOver, TalkBack lub NVDA.

Baza danych jest dość porządna, pełny podział administracyjny.

Wszelkie pomysły mile widziane...

Link do komentarza
Share on other sites

10 godzin temu, _LM_ napisał:

Metoda wprowadzania? Głosowo, jakaś specjalna klawiatura?

No w przypadku TalkBacka akurat wprowadzanie głosowe to norma, ale większość ludzi korzysta z normalnych klawiatur. Poza tym to nie ma być interfejs wyłącznie dla niewidomego...

@Treker jesteś? Nie wiem czemu podwójny wątek mi się zrobił, możesz to jakoś scalić?

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

(edytowany)
5 godzin temu, ethanak napisał:

No w przypadku TalkBacka akurat wprowadzanie głosowe to norma, ale większość ludzi korzysta z normalnych klawiatur. Poza tym to nie ma być interfejs wyłącznie dla niewidomego...

Kod pocztowy? 😄 Znacząco redukuje ilość miejscowości do wyboru i łatwy do wprowadzenia i głosowego i ręcznego.

No i pogrupowanie tego w formie grafu podzielonego na cyfry kodu pocztowego by zredukować czasy porównań i automatycznie odrzucać całe grupy tego, co jest zbędne.

Edytowano przez H1M4W4R1
  • Lubię! 1
Link do komentarza
Share on other sites

19 minut temu, H1M4W4R1 napisał:

Kod pocztowy

Byłoby to zbyt piękne aby mogło być prawdziwe... niestety, o ile wiem nie istnieje żadna otwarta i kompletna baza kodów pocztowych (a przynajmniej nigdy się z taką nie spotkałem).

Na razie coś sensownego mi wychodzi a polem nazwy, przyciskiem "szukaj" i modalnym dialogiem, ale to jeszcze trzeba pięć razy sprawdzić.

 

Link do komentarza
Share on other sites

@H1M4W4R1 oj, coś znalazłem - ciekawe czy mi się uda zgrać to z moją bazą miejscowości i zrobić kod => położenie geograficzne 🙂 No i ile to zajmie, bo ESP nie ma flasha z gumy...

Link do komentarza
Share on other sites

@H1M4W4R1 to był dobry pomysł z kodami. Trochę było ręcznej roboty bo nazwy na poczcie niespecjalnie zgadzają się z oficjalnymi ale się udało. Ponad 40k miejscowości, ok. 6000 zakresów kodów, wszystko niecały megabajt.

 

  • Lubię! 1
Link do komentarza
Share on other sites

3 godziny temu, ethanak napisał:

Ponad 40k miejscowości, ok. 6000 zakresów kodów, wszystko niecały megabajt.

Z ciekawości: zrobiłeś wyszukiwanie po grafie czy pętla przez listę? Sądząc po rozmiarze to raczej graf, ale wolę się upewnić 😉 

Link do komentarza
Share on other sites

Obiecany kod:

Dla Arduino (wymaga ponad 1 MB flash, czyli na ESP8266 się nie zmieści):E32Miasta.zip

Dla peceta: miasta.zip

A tak to wygląda na pececie:

termiasta.thumb.png.c4ff3e72cb01f5c8ddb8c81b0ea18457.png

Biblioteka emiasta jest w czystym C, czyli powinna pójść na większej lodówce 🙂

 

  • Lubię! 1
Link do komentarza
Share on other sites

No i jeszcze ciekawostka dla płytek wyposażonych w PSRAM (czyli wszelkie WROVERy, S2/S3 i tak dalej). Pozwala oszczędzić prawie 0.5 MB flasha, wymaga min. 1 MB PSRAM): E32Miasta2.zip

Taki dziwny sposób wywołania dekompresora dlatego, że Arduino przydziela za mało pamięci na stos, a Espressif ostrzega przed stosowaniem funkcji esp_execute_shared_stack_function(). 

  • Lubię! 1
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.