Autor Zpráva
Milkys
Profil
Prosím Vás, mám databázi cca 7000 záznamů včetně adres i GPS v dec. formátu. Chtěl bych, aby při zobrazení na mapě jednoho záznamu xy se okolo zobrazili jen ty nejbližší. V rádiusu xx km by to bylo asi zbytečně složité (něco jsem už o tom početl). Uvažoval jsem i o psč, ale co by mi úplně stačilo by bylo určit hranice mapy. Mapa se zoomem např. 14 by se zobrazovala v divu třeba čtverec 640 px na 640 px. Záznam by byl vycentrovaný dle souřadnic záznamu xy. Ty záznamy, které by byly za hranicí čtverce by se nezobrazovaly ani nenačítaly a to ani při posunu mapy.
Nepíši o řešení i když kdyby jste o nějakém odkazu věděli budu velice rád.
Budu vděčný i za odkaz někam do dokumentace API googlemaps kde se o podobném řešení zmiňují.
Nevím v podstatě co hledat.
Děkuji za případnou reakci.
peta
Profil
Zobrazovani na mape podle gps upravene z API. Mozna uz neco takove maji v API.
http://webapp.fpf.slu.cz/gmapa/
Milkys
Profil
peta:
děkuji, už jsem na tuto stránku také narazil, ale myslel jsem si, že to můj problém řešit nebude. Moc javě nerozumím. Zkusím se na to podívat pořádně.


peta:
tak na tohle nemám. Funkce, která by se mi starala o zobrazení okolních bodů na mapě okolo bodu xy do určité vzdálenosti je calcRoute()?
peta
Profil
Ja tam neresim okolni body. Zobrazuji body, ktere jsou v poli. Jestli je objekt v urcitem radiusu si najdi v dokumentaci nebo proste odhadem vem bodu vic, ktere se proste nezobrazi, protoze to budes mit orezane overflow nebo clip.
Java a javascript jsou dve odlisne veci. Neco jako auto a autobus.
Jestli je to jako prace, tak na to je forum prace a zakazky.
Milkys
Profil
peta:
php je mým koníčkem a zakázka to není. Těžko bych se tím uživil. Nicméně problém jsem obešel. Zde je zásadní část kodu třeba se to někomu hodí.

$pridej = 0.1; //budu-li chtít větší vzdálenost dám třeba 0.15 nebo 0.2 a naopak. Toto číslo není délková míra
$celkem = 0;
$lat = $this->item->latitude;
$lng = $this->item->longitude;

$max_lat = $lat+$pridej;
$min_lat = $lat-$pridej;
$max_lng = $lng+$pridej;
$min_lng = $lng-$pridej;

Tímto si vytvořím čtverec a všechny objekty (max. mám nastaveno 10), které se se svými $lat a $lng vejdou do toho čtverce

if (($latit < $max_lat) AND ($latit > $min_lat) AND ($longi < $max_lng) AND ($longi > $min_lng) AND ($id != $this->item->id)) {
$celkem++;
if ($celkem < 10)

se potom vypíší pod mapou jako odkaz. Hold na mapě je vždy jen 1 objekt a pod ní zbytek z okolí.

Děkuji za poučení, ve škole jsme to (java, javascript) nebrali, klucí normálně chodili na vojnu na 2 roky a ještě dlouho potom vládli soudruzi než byla revoluce...
Jinak dík a čest

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0