perl – Geo :: Google似乎已经死了,测试失败了,现在怎么样?

perl – Geo :: Google似乎已经死了,测试失败了,现在怎么样?,第1张

概述我尝试使用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.我会试着嘲笑你一个例子,但为了让自己开始尝试用LWP::UserAgentWWW::Mechanize做一些请求,然后解析结果找到你的答案.

编辑:好的,这是一个例子.接近结尾$data是上面链接中描述的JsON响应中包含的数据的hashref.我还计算了(第一)路线的总距离.

#!/usr/bin/perluse 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 . " Miles\n";

编辑:现在,因为我在周日下午感到无聊:

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 Miles\n",$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 Miles\n",$m*0.6213e-3' 60607 60067
总结

以上是内存溢出为你收集整理的perl – Geo :: Google似乎已经死了,测试失败了,现在怎么样?全部内容,希望文章能够帮你解决perl – Geo :: Google似乎已经死了,测试失败了,现在怎么样?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1265160.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-08
下一篇2022-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存