Autor Zpráva
temistokles
Profil
Dobrý deň,

zaujímala by ma jedna vychytávka. Rád by som spravil štatistiku miest, odkiaľ pochádzajú užívatelia. Potreboval by som na to nejakú databázu miest, ku ktorým by bolo možné určiť zemepisnú šírku. Pokiaľ by bolo možné automaticky (Google Maps síce funguje dobre, ale vyžaduje ľudský klik) - teda aby sa to dalo spracovať skriptom. Ideálne by bolo, keby bola takáto databáza online. Moja ideálna predstava je nejaký formulár, ktorý si počká na mesto (prípadne aj štát), vypíše jeho zemepisnú šírku a dĺžku (na formáte týchto údajov nezáleží, mali by však byť textového charakteru, nie súčasťou obrázku :D), nepotrebujem ku tomu žiadne zakreslenie na mape a podobné veci, ide mi čisto o zemepisnú šírku a dĺžku.
Poznáte niečo také? (Kamarát google toho síce hodne našiel, ale nič nebolo použitelné - chcem to spracovať buď desktopovou aplikáciou alebo cez PHP, Perl a podobne.. )

Diki za odpoveď vopred (fakt mi prosím nepíšte, že mám hľadať na googli, robím to posledné dve hodiny).
Vojta Kotoun
Profil
Co takhle zkusit mapy.cz
napises jednoduchou url ve tvaru:
http://www.mapy.cz/?query=A treba GPS souradnice(doporucuju ve formatu pro url)
temistokles
Profil
Vojta Kotoun
No toto by mohlo fungovať, idem sa pohrať :) Zatiaľ dik.
Sonny
Profil
temistokles, nehledej, už jsem hledal to co ty, když jsem to implementoval do svého webu.
Databáze taková je, je i zadarmo, a jak mohu za poslední týden co to funguje říct, tak zobrazuje celkem přesvědčivá data... jsem spokojen... no k věci:

Na rapidshare jsem ti uploadnul obě databáze, které používám. Stáhni rar, uvnitř je krom dvou databází v souborech .dat i složka geoip flags, odkud si tahám vlaječky a ještě pár souborů, který definujou práci s tou databází -tedy to, co v PHP includneš a budeš moci dělat tajtrdlinky jen podle IP adresy, např. takto (u mě, jen pro inspiraci):

/* GeoIP start inicializace */
include("include/GeoIP.inc");
include("include/GeoIPregionvars.php");
include("include/GeoIPcity.inc");
$gi = geoip_open("include/GeoIP.dat",GEOIP_STANDARD);
$gc = geoip_open("include/GeoIPcity.dat",GEOIP_STANDARD);
/* GeoIP konec inicializace */

a pak už můžu dělat (ten localhost je tam jako dummy-IP, ta IP, o který to chceš všechno vědět.-):

geoip_country_code_by_addr($gi, "127.0.0.1");
$record = geoip_record_by_addr($gc,"127.0.0.1");
a k tomu recordu pak přistupovat:

$record->country_code
$record->city
$record->latitude
$record->longitude
$record->region
$record->city

a vlaječku dáš do img kterej bude mít src="include/GeoIP_flags/flag/'.strtolower(geoip_country_code_by_addr( $gi, "127.0.0.1")).'.gif"

No čti čti čti a studuj a studuj. Je to tam kdyžtak popsaný v těch .inc fajlech, no a nezapomeň to nakonec zavřít:

geoip_close($gi); geoip_close($gc);
temistokles
Profil
Sonny
Super skriptík, rozhodne pridám do bookmarkov :) Ale jedna chybička krásy, nechcel som to rozhodovať na základe IP adresy :) Rozhodne sa mi to však hodí. Diki aj za toto ;)
Sonny
Profil
Oj, to je chybička, máš pravdu. O takové DB bohužel nevím. Ale tohle se ti jak říkáš hodí, jestli někdo o takové DB ponětí má, nechť to sem neváhá napsat.
sakalik
Profil
ja by som odporucal www.geonames.org db sa da stiahnut alebo pouzit webservice

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: