perl – Geo :: Google似乎已经死了,测试失败了,现在怎么样?
发布时间:2020-12-15 23:23:28 所属栏目:大数据 来源:网络整理
导读:我尝试使用CPAN( http://metacpan.org/pod/Geo::Google v0.05)安装Geo :: Google,几乎所有测试都失败了.我在这里检查了 http://matrix.cpantesters.org/?dist=Geo-Google+0.05,它确认这个模块失败了. 它似乎是一个废弃的模块,但我需要计算Perl程序中2个地址
我尝试使用CPAN(
http://metacpan.org/pod/Geo::Google v0.05)安装Geo :: Google,几乎所有测试都失败了.我在这里检查了
http://matrix.cpantesters.org/?dist=Geo-Google+0.05,它确认这个模块失败了.
它似乎是一个废弃的模块,但我需要计算Perl程序中2个地址之间的行车距离.有什么建议? 解决方法
我正在尝试恢复一个维护不足的模块(Zoidberg),你可以做的最好的事情是挖掘CPANtesters的结果,看看出了什么问题才能尝试解决它.
那说谷歌地图有一个公共API,甚至一个有simple web interface.我会试着嘲笑你一个例子,但为了让自己开始尝试用 编辑:好的,这是一个例子.接近结尾$data是上面链接中描述的JSON响应中包含的数据的hashref.我还计算了(第一)路线的总距离. #!/usr/bin/perl use strict; use warnings; use JSON; use LWP::UserAgent; my $ua = LWP::UserAgent->new(); my $origin = "60607"; my $destination = "60067"; my $site = 'http://maps.googleapis.com/maps/api/directions/'; my $mode = 'json'; my $page = $site . $mode . '?origin="' . $origin . '"&destination="' . $destination . '"&sensor=false'; my $response = $ua->get( $page ); my $json = $response->content(); my $data = decode_json $json; my @legs = @{ $data->{'routes'}[0]{'legs'} }; my $distance_meters = 0; foreach my $leg (@legs) { $distance_meters += $leg->{'distance'}{'value'}; } my $distance_kilometers = $distance_meters / 1000; my $distance_miles = $distance_kilometers * 0.62137119; print $distance_miles . " Milesn"; 编辑:现在,因为我在周日下午感到无聊: perl -e 'use JSON;use LWP::Simple;($s,$e)=@ARGV;$m+=$_->{distance}{value}for@{(decode_json get qq<http://maps.googleapis.com/maps/api/directions/json?origin="$s"&destination="$e"&sensor=false>)->{routes}[0]{legs}};printf"%.2f Milesn",$m*0.6213e-3' 60607 60067 编辑:现在,到Mojolicious系统的一个班轮的一个端口: perl -Mojo -E '$m+=$_->{distance}{value}for@{g("http://maps.googleapis.com/maps/api/directions/json",form=>{origin=>shift,destination=>shift,sensor=>"false"})->json("/routes/0/legs")};printf"%.2f Milesn",$m*0.6213e-3' 60607 60067 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |