Oblast vyhledávání
Tento článek popisuje chování parametrů locality
, preferBBox
, preferNear
a preferNearPrecision
, které ovlivňují:
- kde se bude hledat (omezení výsledků na oblast),
- jak se budou výsledky řadit (zvýhodnění uvnitř a v blízkosti určité oblasti).
Tyto parametry lze používat ve funkcích: Geocode i Suggest.
Doporučené použití
- Chcete-li výsledky primárně kolem aktuální polohy uživatele:
PoužívejtepreferNear
(+ preferNearPrecision např 5km), nepoužívejtelocality
.
→ Funguje celosvětově, preferuje okolí polohy. - Chcete-li výsledky ideálně z nějaké oblasti, ale nevadí i jiné:
Použijte jednu z prefer možností (preferBBox
nebopreferNear
), nepoužívejtelocality
. - Chcete-li výsledky pouze z nějaké oblasti (stát, kraj, město):
Použijtelocality
– ideálně přes BBox (rychlejší a přesnější než text).
Nekombinujte s preferovanou oblastí, pokud to není nutné. - Kombinace
locality
+ preferovaná oblast:
→ Vhodné jen ve specifických scénářích (např. taxi firma: nechce jezdit mimo město, ale v rámci města preferuje výsledky přímo z centra).
→ Je nutné pohlídat pravidlo průniku, jinak API vrátí chybu.
Parametry
locality
- Typ: seznam hodnot ( kód státu: cz, gb, us, … , nebo BBox:
{minLon},{minLat},{maxLon},{maxLat}
) - Význam: tvrdý filtr – výsledky se vrací pouze z této oblasti.
- Více hodnot: lze zadat více lokalit oddělených čárkou. Výsledky se pak vrací z libovolné z nich.
- Nepovinné.
preferBBox
- Typ: BBox ve formátu
{minLon},{minLat},{maxLon},{maxLat}
- Význam: měkká preference – výsledky uvnitř a v blízkosti obdélníku jsou preferovány, ale není list dost relevatních výsledků zde, hledá se všude.
- Alternativa: používá se místo
preferNear
(nelze kombinovat). - Nepovinné, ale pokud není vyplněno, nastaví se automaticky – viz sekce „Výchozí chování“.
preferNear
+ preferNearPrecision
- Typ:
preferNear
= souřadnice bodu{lon},{lat}
preferNearPrecision
= číslo, poloměr kružnice v metrech
- Význam: určují kružnici (střed + poloměr). Výsledky uvnitř a v blízkosti kružnice jsou preferovány, ale není list dost relevatních výsledků zde, hledá se všude.
- Alternativa: používají se místo
preferBBox
(nelze kombinovat). - Nepovinné, ale pokud není vyplněno, nastaví se automaticky – viz sekce „Výchozí chování“.
Výchozí chování
- Bez
locality
i bez preferované oblasti (preferBBox
/preferNear
):
→ preferovaná oblast = BBox kolem ČR (výchozí stav). - Pouze
locality
:
→ výsledky jsou omezeny na tuto oblast,
→ preferovaná oblast se automaticky nastaví nalocality
. - Pouze preferovaná oblast:
→ výsledky nejsou geograficky omezené,
→ výsledky uvnitř a v blízkosti preferované oblasti mají vyšší prioritu.
Kombinace locality
a preferované oblasti
- Je možné kombinovat, ale:
- preferovaná oblast se musí protínat alespoň s jednou zadanou
locality
. - pokud se neprotínají → zadání je nevalidní a API vrátí chybu.
- preferovaná oblast se musí protínat alespoň s jednou zadanou
Příklad nevalidní kombinace:locality=cz
a preferNear=Paříž
→ preference je mimo ČR, dotaz selže.
Příklad validní kombinace:
Taxi služba funguje v rámci města:
preferBBox
= obálka města (výsledky z města mají přednost),locality
= širší kružnice (např. 100 km), aby výsledky byly jen z okolí.
Řazení výsledků při použití preferované oblasti
- Uvnitř preferované oblasti: řazení čistě podle relevance dotazu.
- V blízkosti preferované oblasti: relevance + vzdálenost od oblasti → bližší jsou vraceny přednostně.
- Daleko od oblasti: nižší priorita.