Autor | Zpráva | ||
---|---|---|---|
David Klouček Profil |
#1 · Zasláno: 24. 3. 2014, 19:57:47
V databázi mám uloženy záznamy a u každého souřadnice umístění. Na stránce je pak čtvercová Google mapa, která na server posílá souřadnice polygonu, ve kterém se mají hledané záznamy nacházet. Polygon je stejně jako mapa čtvercový a problém je v tom, že Google Maps API umí vrátit jen jiho-západní a severo-východní rohy (https://developers.google.com/maps/documentation/javascript/v2/reference?csw=1#GLatLngBounds.getSouthWest), jak dopočítám zbylé 2? Je mi jedno jestli to bude v PHP, nebo se to dá nějak zakomponovat přímo do vyhledávání v SQL.
|
||
Kajman Profil |
#2 · Zasláno: 24. 3. 2014, 20:29:09
Pokud to stačí pro Evropu a nemusíte ošetřovat čtverce přes poledník 180°, tak stačí použít funkce least a greatest v sql, případně min a max v php na obě délky či šírky.
min min (znáte) max min min max max max (znáte) |
||
David Klouček Profil |
Absolutně nechápu, ty funkce pracují s poli. Žádné řešení jsem nenašel, ale přijde mi divné, že není nějaká nativní funkce, když se musí řešit ten poledník (konkrétně v mém případě ne, je to jen pro ČR).
?------------| | | |------------? Edit: Na server mi přichází např. tohle (zobrazená Praha): ne_lat => 50.18110725792358 ne_lng => 14.708589913690162 sw_lat => 49.96074991626415 sw_lng => 14.227938058221412 ne_lat, ne_lng - pravá horní hrana sw_lat, sw_lng - levá dolní hrana |
||
1Pupik1989 Profil |
#4 · Zasláno: 24. 3. 2014, 21:28:37
Tak levý horní si myslím, že bude:
x: levý dolní x y: pravé horní y Opravte mě pokud se pletu. Nevím jak vypadá API. |
||
Joker Profil |
David Klouček:
K čemu funkce, tam přece není nutné nic počítat. Když přijdou body [ne_lat;ne_lng] a [sw_lat;sw_lng], zbývající dva body mají souřadnice [ne_lat;sw_lng] a [sw_lat;ne_lng]. Viz [#2] Kajman |
||
David Klouček Profil |
#6 · Zasláno: 25. 3. 2014, 01:15:23
Joker:
Máš pravdu. Díky. |
||
Časová prodleva: 10 let
|
0