NAME

Yandex::Geo - Performs queries using Yandex Maps Company Search API

VERSION

version 0.07

DESCRIPTION

Implements Yandex Maps Company Search API

https://tech.yandex.ru/maps/geosearch/

NAME

Yandex::Geo

SYNOPSYS

    use Yandex::Geo;
    
    my $yndx_geo = Yandex::Geo->new(
        apikey => 'f33a4523-6c94-48df-9b41-5c5c6f250e98',
        only_city => 'ROV',
        results => 20
    );
    
    my $geo_json = $yndx_geo->get(text => 'autoservice', type => 'biz');
    
    my $res = $yndx_geo->y_companies('autoservice', only_city => 'MSK');

SEE ALSO

Geo::Yandex

METHODS

cities_bbox

    $self->cities_bbox();
    Yandex::Geo::cities_bbox();

Return hash of approximate big cities borders

Each border is geo coordinates in format: left bottom corner (longitude, latitude) - top right corner (longitude, latitude)

E.g for Rostov-on-Don is 39.535873,47.146130~39.842460,47.35675'

new

Constructor

Required parameter: apikey

To use in every request you can provide same parameters as in "get" in Yandex::Geo, except text parameter

get

Perform API request, handle http errors and return Geo::JSON::FeatureCollection object

Implements all parameters from https://tech.yandex.ru/maps/doc/geosearch/concepts/request-docpage/

In addition to standart params it implement city param. Check more about its usage and cities available at "cities_bbox" in Yandex::Geo

    $yndx_geo->get(text => 'макетные мастерские', city => 'ROV');  # Geo::JSON::FeatureCollection

If you need to get plain json instead of just Geo::JSON::FeatureCollection simply add to_json method to chain:

    $yndx_geo->get(text => 'макетные мастерские', city => 'ROV')->to_json;

y_companies

Do same as "get" in Yandex::Geo but return array of Yandex::Geo::Companies objects

For convenience, search text is provided as first parametes

    $yndx_geo->y_companies('макетные мастерские', city => 'ROV', results => '500');  # Geo::JSON::FeatureCollection

AUTHOR

Pavel Serikov <pavelsr@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2018 by Pavel Serikov.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.