NAME

HTTP::MobileAgent::Plugin::Locator - Handling mobile location information plugin for HTTP::MobileAgent

SYNOPSIS

use CGI;
use HTTP::MobileAgent;
use HTTP::MobileAgent::Plugin::Locator;

$q = CGI->new;
$agent = HTTP::MobileAgent->new;

# get location is Geo::Coordinates::Converter::Point instance formatted wgs84
# ./t/* has many examples.
$location = $agent->get_location( $q );
# or
$location = $agent->get_location( { lat => '35.21.03.342',
                                    lon => '138.34.45.725',
                                    geo => 'wgs84' } );
# or
$location = $agent->get_location( $q, { locator => $LOCATOR_GPS } );

# get latitude and longitude
print "lat is " . $location->lat;
print "lng is " . $location->lng;

METHODS

get_location([params], $option_ref);

return Geo::Coordinates::Converter::Point instance formatted if specify gps or basic location parameters sent from carrier. The parameters are different by each carrier.

This method accepts a CGI-ish object (an object with 'param' method, e.g. CGI.pm, Apache::Request, Plack::Request) or a hashref of query parameters.

$option_ref->{locator}

select locator class algorithm option.

$LOCATOR_AUTO_FROM_COMPLIANT auto detect locator from gps compliant. This is default.

$LOCATOR_AUTO auto detect locator class from params.

$LOCATOR_GPS select GPS class.

$LOCATOR_BASIC select BasicLocation class.

gps_compliant()

returns if the agent is GPS compliant.

CLASSES

HTTP::MobileAgent::Plugin::Locator::DoCoMo::BasicLocation

for iArea data support.

HTTP::MobileAgent::Plugin::Locator::DoCoMo::GPS

for GPS data support.

HTTP::MobileAgent::Plugin::Locator::EZweb::BasicLocation

for basic location information data support.

HTTP::MobileAgent::Plugin::Locator::EZweb::GPS

for EZnavi data support.

HTTP::MobileAgent::Plugin::Locator::SoftBank::BasicLocation

for basic location information data support.

HTTP::MobileAgent::Plugin::Locator::SoftBank::GPS

for GPS data support.

HTTP::MobileAgent::Plugin::Locator::Willcom::BasicLocation

for basic location information data support.

EXAMPLES

There is request template using Template in eg directory and mod_rewrite configuration for ezweb extraordinary parameter handling.

COOK BOOK

HOW DO I GET iArea area code.
use Geo::Coordinates::Converter::iArea;
my $areacode = $agent->get_location($q)->converter('iarea')->areacode;
HOW DO I GET geohash.
use Geo::Coordinates::Converter::Format::GeoHash;
my $geohash = $ma->get_location(
    { lat => '35.21.03.342', lon => '138.34.45.725', geo => 'wgs84' },
)->converter('wgs84', 'geohash')->geohash;

AUTHOR

Yoshiki Kurihara <kurihara __at__ cpan.org> with many feedbacks and changes from:

Tokuhiro Matsuno E<lt>tokuhirom __at__ gmail.comE<gt>
Masahiro Chiba E<lt>chiba __at__ geminium.comE<gt>

SEE ALSO

HTTP::MobileAgent, Geo::Coordinates::Converter, Geo::Coordinates::Converter::Point, Geo::Coordinates::Converter::iArea, http://coderepos.org/share/log/lang/perl/HTTP-MobileAgent-Plugin-Locator/

LICENCE

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 226:

Expected text after =item, not a bullet