En Perl comment obtenir le lat et long d'une adresse arbitraire? Il est OK d'utiliser une API externe.Obtenir la latitude et la longitude d'une adresse en utilisant perl et Google Geocode API
Répondre
Voici une fonction perl rapide pour obtenir la latitude et la longitude d'une adresse arbitraire. Il utilise LWP :: Simple et JSON du CPAN et l'API Geocode de Google. Vous pouvez faire json ou xml si vous voulez les données complètes, celui-ci utilise json et attrape et retourne le lat et le long.
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);
}
Donc, vous avez répondu à votre propre question en seulement 1 minute? :) –
Je voulais l'afficher parce que j'ai cherché pendant un certain temps à le comprendre et je voulais sauver le gars suivant un certain temps. – jpgunter
OK. [Vous pouvez fournir la réponse dans la question et poser la question "est-ce qu'il y a une meilleure réponse".] (Http://meta.stackexchange.com/questions/17845/etiquette-for-answering-your-own-question –
Il y a un module wrapper pour l'API Google géocodage, Geo::Coder::Google:
#!/usr/bin/env perl
use strict;
use utf8;
use warnings qw(all);
use Data::Printer;
use Geo::Coder::Google;
my $geocoder = Geo::Coder::Google->new(apiver => 3);
my $location = $geocoder->geocode(location => 'Hollywood and Highland, Los Angeles, CA');
p $location->{geometry}{location};
Ce code imprime:
\ {
lat 34.101545,
lng -118.3386871
}
Il est généralement préférable d'utiliser un impromptu CPAN Ce module est supporté par le service CPAN Testers, donc, si l'API se casse, il sera facile de repérer et de signaler.
Très bien, et comme @Oesor l'a souligné, vous pouvez utiliser Geo :: Coder :: Many pour comparer les résultats de quelques API. – jpgunter
Y a-t-il un moyen d'obtenir un message «statut limite» de la bibliothèque? –
Vous pouvez utiliser Geo :: Coder :: Many pour comparer différents services pour trouver celui qui pense que c'est le plus précis. J'ai eu de la chance avec ça (US) dans un mélange d'adresses rurales et urbaines.
use Geo::Coder::Bing;
use Geo::Coder::Googlev3;
use Geo::Coder::Mapquest;
use Geo::Coder::OSM;
use Geo::Coder::Many;
use Geo::Coder::Many::Util qw(country_filter);
### Geo::Coder::Many object
my $geocoder_many = Geo::Coder::Many->new();
$geocoder_many->add_geocoder({ geocoder => Geo::Coder::Googlev3->new });
$geocoder_many->add_geocoder({ geocoder => Geo::Coder::Bing->new(key => 'GET ONE')});
$geocoder_many->add_geocoder({ geocoder => Geo::Coder::Mapquest->new(apikey => 'GET ONE')});
$geocoder_many->add_geocoder({ geocoder => Geo::Coder::OSM->new(sources => 'mapquest')});
$geocoder_many->set_filter_callback(country_filter('United States'));
$geocoder_many->set_picker_callback('max_precision');
for my $location (@locations) {
my $result = $geocoder_many->geocode({ location => $location });
}
Nice, j'aime l'idée de comparer de nombreux services de différence. – jpgunter
- 1. obtenir la longitude de latitude en utilisant l'adresse api
- 2. Comment obtenir `latitude` et` longitude` pour une adresse? Google Maps
- 3. Comment obtenir la longitude et la latitude d'une adresse?
- 4. PHP Comment obtenir la longitude complète et la latitude en utilisant l'API Google
- 5. Obtenir la latitude et la longitude automatiquement en utilisant php, API
- 6. latitude, longitude et adresse retrouvez
- 7. Comment obtenir la latitude et la longitude de google maps v3 api?
- 8. Basic API qui renvoie la longitude et la latitude d'une adresse en utilisant JavaScript ou PHP
- 9. Comment obtenir la latitude et la longitude de l'adresse entière?
- 10. la latitude et la longitude en utilisant JavaScript
- 11. latitude et la longitude récupérer de google latitude
- 12. Récupérer et stocker Latitude/Longitude API
- 13. PHP Latitude Longitude à Adresse
- 14. Obtenir la latitude et la longitude
- 15. Obtenir la latitude et la longitude
- 16. obtenir la latitude et la longitude
- 17. Google Map longitude et latitude
- 18. Tracer le bouton pour ajouter la latitude et la longitude aux champs de saisie? Geocode
- 19. n'a pas réussi à obtenir la latitude, la longitude en utilisant Google Maps, get_lat_long_from_address
- 20. iphone google maps obtenir la latitude et la longitude d'une adresse
- 21. récupérer la latitude et la longitude dans google map
- 22. Comment obtenir la ville par la latitude et la longitude?
- 23. convertir la latitude et la longitude en google map?
- 24. Obtenir la dernière localisation latitude et longitude
- 25. obtenir zéro comme la latitude et la latitude avec chaque adresse dans .net
- 26. Ne pas obtenir la latitude et la longitude en android
- 27. Obtenir la latitude et la longitude me donne NetworkOnMainThreadException
- 28. Google map pointeur multiple pour la même latitude et longitude
- 29. Obtenir la latitude et la longitude à partir du nom d'adresse donné. NOT Geocoder
- 30. Obtenir la latitude et la longitude à partir du code PIN en utilisant PHP
Existe-t-il un moyen d'obtenir un message «statut limite supérieure» de la bibliothèque? –