Pereiti prie turinio

Reikia countries and cities serviso


Rekomenduojami pranešimai

https://developers.google.com/maps/documentation/geocoding/intro

https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete

 

Nezinau ar tavo use case patenkina, bet moderniau - vartotojas veda savo adresa kaip nori, google geocoding API autocomplete pasirinkimus duoda, pasirinkus tu tada gali ka nori istraukti is to pasirinkimo (salis, miestas, gatve, pasto adresas, etc. cia placiau - https://developers.google.com/maps/documentation/geocoding/intro#ComponentFiltering )

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Jo sitas aisku tik sitaip turbut veikia, o google pasirinkus tarkim country per api tikrai kiek jau isgooglinau neduoda tos salies miestu.

 

Gal dar kas buvote susidurei r pvz as turiu sarasa su salimi ir miestu, ir man reikia pvz prasifiltruoit pasirinkita miesta, cia kaip ir aisku, bet pvz jeigu noriu prasifiltruoti miestus kurie pvz yra nutole apie 100 ar kiek nors km, sito google irgi kazkaip nepavyko isgoogliti ar duoda?

Redagavo sparagas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Jo sitas aisku tik sitaip turbut veikia, o google pasirinkus tarkim country per api tikrai kiek jau isgooglinau neduoda tos salies miestu.

Sito google nesiulo, bet pilna nemokamu DB internete su tokiais duomenim.

 

bet pvz jeigu noriu prasifiltruoti miestus kurie pvz yra nutole apie 100 ar kiek nors km, sito google irgi kazkaip nepavyko isgoogliti ar duoda?

Tas pats geocoding API - duok miesta, tau duos ivairius duomenys apie ji, iskaitant koordinates, pagal koordinates gali susiskaiciuot atstumus tarp miestu ir issifiltruosi.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Sito google nesiulo, bet pilna nemokamu DB internete su tokiais duomenim.

 

 

Tas pats geocoding API - duok miesta, tau duos ivairius duomenys apie ji, iskaitant koordinates, pagal koordinates gali susiskaiciuot atstumus tarp miestu ir issifiltruosi.

 

Pas mane panasus scenarijus, kaip skelbiu.lt kur galima filtruoti pasirinkimus pagal kilomentrus

 

Turiu lista, prasifiltruoju ji pvz pagal miesta kaunas,

Gaunu visus skelbimus kur Kaunas miestas

Paskui noriu prafiltruoti kad ismestu pvz visus skelbimus kur miestai nuo kauno yra nutole 100km, noriu pabrezti kad miestai nera zinomi, ir ivairios salys gali tureti ivairius miestus,

 

Kaip visa where protingai suformuoti ar nejaugi tikrtinti kiekviena skelbima daryti api call kazkur ir ziureti ar yra 100km? Tada atrodo cia begales api call gaunasi, pagal mane protingiausias variantas butu tarkim nusistatcius nuo kauno 100km gauti tu miestu arreju, ir paskui kai filtruojame savo duomenis is db paziureti ar whereIn ar kazkas tokio, bet tokio dalyko nu nepavyuksta man rasti kad google graizintu miestus nuo pasirinkto miesto range

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Pas mane panasus scenarijus, kaip skelbiu.lt kur galima filtruoti pasirinkimus pagal kilomentrus

 

Turiu lista, prasifiltruoju ji pvz pagal miesta kaunas,

Gaunu visus skelbimus kur Kaunas miestas

Paskui noriu prafiltruoti kad ismestu pvz visus skelbimus kur miestai nuo kauno yra nutole 100km, noriu pabrezti kad miestai nera zinomi, ir ivairios salys gali tureti ivairius miestus,

 

Kaip visa where protingai suformuoti ar nejaugi tikrtinti kiekviena skelbima daryti api call kazkur ir ziureti ar yra 100km? Tada atrodo cia begales api call gaunasi, pagal mane protingiausias variantas butu tarkim nusistatcius nuo kauno 100km gauti tu miestu arreju, ir paskui kai filtruojame savo duomenis is db paziureti ar whereIn ar kazkas tokio, bet tokio dalyko nu nepavyuksta man rasti kad google graizintu miestus nuo pasirinkto miesto range

Nu cia jau labai arteji prie to, kad kazkas uz tave tavo visa 'algoritma' sukurtu. Tokiam usecase tai geriau vietoj google apis naudojimo susirask duom. baze kokia su miestais ir kad turetu koordinates ju, tada pasirasyk skripta kuris sukurtu duom. bazej lookup table, kazka tokio kaip

a_miesto_id, atstumas_km, b_miesto_id

naudodamas koordinates. Tada belieka paprasta query pasirasyti kad surastu visus entries kur a_miesto_id == {pradinis miestas nuo kurio ieskai}.id ir atstumas_km < {ieskomas atstumas nuo pradinio miesto}.

 

Bent jau tokia random pirma sovus ideja.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nu cia jau labai arteji prie to, kad kazkas uz tave tavo visa 'algoritma' sukurtu. Tokiam usecase tai geriau vietoj google apis naudojimo susirask duom. baze kokia su miestais ir kad turetu koordinates ju, tada pasirasyk skripta kuris sukurtu duom. bazej lookup table, kazka tokio kaip

a_miesto_id, atstumas_km, b_miesto_id

naudodamas koordinates. Tada belieka paprasta query pasirasyti kad surastu visus entries kur a_miesto_id == {pradinis miestas nuo kurio ieskai}.id ir atstumas_km < {ieskomas atstumas nuo pradinio miesto}.

 

Bent jau tokia random pirma sovus ideja.

 

Nebūtina daryti atstumų matricos. Siūlyčiau susirasti miestų duomenų bazę su miesto centro taško koordinatėmis (gali būti centrinio pašto, ar šiaip ką google nurodo įvedus tiesiog miestą į paiešką) ir duomenų bazėje saugotis kaip miestą ir jo koordinates. Tuomet nuo norimo miesto norėdamas rasti esančius tam tikru atstumu, paskaičiuok geodistance ir filtruok.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nu cia jau labai arteji prie to, kad kazkas uz tave tavo visa 'algoritma' sukurtu. Tokiam usecase tai geriau vietoj google apis naudojimo susirask duom. baze kokia su miestais ir kad turetu koordinates ju, tada pasirasyk skripta kuris sukurtu duom. bazej lookup table, kazka tokio kaip

a_miesto_id, atstumas_km, b_miesto_id

naudodamas koordinates. Tada belieka paprasta query pasirasyti kad surastu visus entries kur a_miesto_id == {pradinis miestas nuo kurio ieskai}.id ir atstumas_km < {ieskomas atstumas nuo pradinio miesto}.

 

Bent jau tokia random pirma sovus ideja.

Algoritmo tikrai nereikia, :) reikia api ar irankio su kuriuo butu galima tai realizuoti, kol pats nepradejau daryti irgi atrode kad cia easy, ir turetu buti kazkas bet nieko nera, realiausias variantas koki radau tai http://geobytes.com/get-nearby-cities-api/ toki api ir greiciausiai naudosiu, bet jeigu butu koks google api kuris tai darytu butu isviso tobula. jeigu miestu bus 10k tai suprantamai kad lokupas bus milzininiskas

 

Nebūtina daryti atstumų matricos. Siūlyčiau susirasti miestų duomenų bazę su miesto centro taško koordinatėmis (gali būti centrinio pašto, ar šiaip ką google nurodo įvedus tiesiog miestą į paiešką) ir duomenų bazėje saugotis kaip miestą ir jo koordinates. Tuomet nuo norimo miesto norėdamas rasti esančius tam tikru atstumu, paskaičiuok geodistance ir filtruok.

Kiek suprantu geodistance yra tik atstumas tarp dvieju tasku? Jeigu taip tai nelabai tinka nes jeigu miestu tarkim duomenu bazeje 10k, tai kiekvienam miestui daryti query i google api ar kazkur ir lyginti atrodo labai ilgai man filtruos. Viskas turi veikti gan greitai nes tai bus naudojamas kaip filtras atsifiltruoti duomenims

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...