什么是一个好的API来查找邮政编码的纬度和经度?

5

有人知道一个好的免费API来获取邮政编码的坐标吗?目前我正在使用的是

http://forecast.weather.gov/zipcity.php?inputstring=00000

但这不是一个真正的API,可能会有变化。我不需要精确的位置信息,目的是找到日出/日落时间。


一个值得问自己的好问题是在邮政编码中测量的位置在哪里。这些信息的商业需求是什么? - EvilTeach
我不在乎具体位置,这是为了找到日出和日落时间而进行的,所以不必非常精确。 - msbg
好的,那很有道理。你预计会有多少数据量? - EvilTeach
可能一天大约有一千个,不算太多。 - msbg
你可以使用 https://www.thezipcodes.com。 - nkkumawat
4个回答

8

因为我只需要对一堆地址进行地理编码并将其存储在数据库中,所以我不能使用Google API,因为这将违反服务条款。如果可能的话,我还在寻找批处理。我的搜索结果有两个API。

第一个API来自MapQuest。注册一个密钥并开始使用该服务很容易。免费版本的问题是,有时您会收到空坐标的地址。显然,在企业版中没有这个问题。不幸的是,我不得不放弃它,因为它不符合我的需求。

我发现的第二个宝石来自美国人口普查局。它提供REST接口以供API访问,而且不需要API密钥。在我的测试中,所有查询都返回了匹配项。我的唯一担心是我看不到关于使用限制等方面的措辞。这里是文档链接:http://geocoding.geo.census.gov/geocoder/Geocoding_Services_API.pdf


这是一个宝石!干得好USCB - aug2uag

3

这看起来不错,我会进一步研究它。 - msbg
3
请注意,在查询该API时必须展示地图,否则将违反服务条款。 - Matt

1

我曾经成功地使用Yahoo Placefinder API

你也可以使用Google Map的API,但我相信使用它需要将地图数据嵌入到你的网站中,并满足一定的要求。


1
<?php

    $zipcode=$_POST('zipcode');

    $url = "http://maps.googleapis.com/maps/api/geocode/json?address=".$zipcode."&
            sensor=false";

    $details=file_get_contents($url);

    $result = json_decode($details,true);

    $account_lat=$result['results'][0]['geometry']['location']['lat'];

    $account_long=$result['results'][0]['geometry']['location']['lng'];

    echo "Latitude :" .$account_lat;

    echo '<br>';

    echo "Longitude :" .$account_long;

?>


这里缺少API密钥,伙计。 - Naser Nikzad
在撰写本答案时,它不需要任何 API 密钥。此外,这是我在项目代码中的一个可行解决方案,我已经在这里发布了。你可以查看帖子日期。 - Raj
@NaserNikzad 你需要检查一下谷歌在过去的5-6年里是否有进行了一些更改/更新。 - Raj
你是对的,抱歉我的语气。 - Naser Nikzad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接