perl - 使用 perl 和 Google 的 Geocode API 获取地址的纬度和经度

标签 perl geocoding google-geocoder google-geocoding-api

在 Perl 中如何从任意地址获取纬度和经度?可以使用外部 API。

最佳答案

这是一个快速的 perl 函数,可以获取任意地址的纬度和经度。它使用来自 CPAN 和 Google 的 Geocode API 的 LWP::Simple 和 JSON。如果你想要完整的数据,你可以使用 json 或 xml,这个使用 json 并且只获取并返回纬度和经度。

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);
}

关于perl - 使用 perl 和 Google 的 Geocode API 获取地址的纬度和经度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13716524/

相关文章:

ios - 如何从公司名称中获取坐标?

javascript - Google map + Google 本地搜索根据英国邮政编码生成纬度/经度

java - 国家/地区代码 (iso-3166-1/iso-3166-2) 到经度和纬度

android - 我怎样才能沿着道路推断得更远?

Android:如何在 MapView 上执行附近搜索

perl - "tee"qx 运算符

arrays - 旧版 Perl 中的警告消息

缺少 Perl 参数

perl - 使用配置文件打包 Perl 模块?

ruby-on-rails - 使用 SSL/HTTPS 时返回远程 IP 为 127.0.0.1