pub struct FuzzyFinder { /* private fields */ }
Expand description
FuzzyFinder
blazing fast for most places on earth, use a preindex data.
Not work for places around borders.
FuzzyFinder
store all preindex’s tiles data in a HashMap
,
It iterate all zoom levels for input’s longitude and latitude to build
map key to to check if in map.
It’s is very fast and use about 400ns to check if has preindex. It work for most places on earth and here is a quick loop of preindex data:
Implementations§
Source§impl FuzzyFinder
impl FuzzyFinder
pub fn from_pb(tzs: PreindexTimezones) -> Self
Sourcepub fn get_tz_name(&self, lng: f64, lat: f64) -> &str
pub fn get_tz_name(&self, lng: f64, lat: f64) -> &str
Retrieves the time zone name for the given longitude and latitude.
§Arguments
lng
- Longitudelat
- Latitude
§Example:
use tzf_rs::FuzzyFinder;
let finder = FuzzyFinder::new();
assert_eq!("Asia/Shanghai", finder.get_tz_name(116.3883, 39.9289));
§Panics
- Panics if
lng
orlat
is out of range. - Panics if
lng
orlat
is not a number.
pub fn get_tz_names(&self, lng: f64, lat: f64) -> Vec<&str>
Sourcepub fn data_version(&self) -> &str
pub fn data_version(&self) -> &str
Trait Implementations§
Auto Trait Implementations§
impl Freeze for FuzzyFinder
impl RefUnwindSafe for FuzzyFinder
impl Send for FuzzyFinder
impl Sync for FuzzyFinder
impl Unpin for FuzzyFinder
impl UnwindSafe for FuzzyFinder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more