这是从另一张海报。 (jpgunter)https://stackoverflow.com/users/1857927/jpgunterPerl得到的位置(经度+纬度),加上邮政编码
use strict;
use LWP::Simple; # from CPAN
use JSON qw(decode_json); # from CPAN
sub getLatLong($){
my ($address) = @_;
my $format = "json"; #can also to 'xml'
my $geocodeapi = "https://maps.googleapis.com/maps/api/geocode/";
my $url = $geocodeapi . $format . "?sensor=false&address=" . $address;
my $json = get($url);
my $d_json = decode_json($json);
my $lat = $d_json->{results}->[0]->{geometry}->{location}->{lat};
my $lng = $d_json->{results}->[0]->{geometry}->{location}->{lng};
return ($lat, $lng);
}
它看起来是在做我想要什么,但是......有没有人能够解释,我把地址给运行它,哪里输出去了?
我必须从另一个文件中跑过大约5000个城市来进行我正在进行的“非学术性”项目,显然手动操作的想法是可怕的。在过去的7年里,我也只做过最小的perl,所以绝对有帮助。 我已经安装了LWP 6.04和JSON 2.53。 如果我可以使用输入文件,旋转它(通过邮编显示它)。 该行将在...“formatted_address”:“吉朗西维多利亚州3218,澳大利亚”, 只是不知道如何获得3218那里。
原帖是在这里... Get the Latitude and Longitude of an address using perl and Google's Geocode API
检查服务条款;我的回忆是,该API只用于显示谷歌地图。无论如何,如果你做了5000个请求,你很可能会在你完成之前被谷歌阻止。 – ysth
https://developers.google.com/maps/documentation/geocoding/#Limits – ysth
谢谢,这实际上是真正有用的知道,因为我没有意识到..仍然查询是相关的,因为我希望能够做到以上。 –