5

任何人都知道一个很好的免费 API 来获取邮政编码的坐标?我目前使用的是

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

但这不是真正的 API,可能会发生变化。我不需要确切的位置,此信息的目的是查找日出/日落时间。

4

4 回答 4

8

由于我只需要对一堆地址进行地理编码并将其存储在数据库中,因此我无法使用 Google API,因为它违反了 TOS。如果可能的话,我也在寻找批处理。我的搜索引导我找到 2 个 API。

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

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

于 2015-02-23T20:21:48.230 回答
3

我认为你应该看看Google API。

于 2012-09-09T02:06:11.903 回答
1

我使用Yahoo Placefinder API取得了成功。

您也可以使用 Google Map 的 API,但我相信使用它也需要将地图数据嵌入到您的站点中。

于 2012-09-09T02:08:30.920 回答
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;

?>

于 2013-07-15T05:12:06.737 回答