我正在尝试找到一个允许我获取特定Lat / Long的县名(而不是国家/地区)的网络服务。我将在服务器应用程序(可能是Java应用程序)中执行查找。如果我想有一些库,它没有一个web服务,但我想要最新的信息。我已经看了很多支持这个的API,但到目前为止我还没找到一个有效的API。我尝试过像这样的Yahoo API:
http://where.yahooapis.com/geocode?q=39.76144296429947,%20-104.8011589050293
但它没有填充地址信息。我试过一些“旗帜”选项也无济于事。
我也浏览了Googles API,但我读过很多他们没有填充县的地方。
那么有没有人知道任何带Lat / Long并返回与该位置相关联的县的API?如果你有任何例子,那就太好了。
我还想知道哪些API允许在商业应用中使用。我发现的很多数据都说你不能用数据来赚钱。我可能正在阅读那些错误,但我正在寻找建立一个我可能会收取使用这些数据的服务。所以我需要选择。也许是免费服务,而我正在探索各种选择,并在未来支付服务。
答案 0 :(得分:19)
为了完整起见,我找到了另一个API来获取这些非常简单的数据,所以我想我会分享。
https://www.fcc.gov/developers/census-block-conversions-api
FCC为此问题提供了一个API,它使用人口普查数据来执行查找。
他们的使用限制政策是(来自developer@fcc.gov)
我们对块转换API没有任何使用限制,但如果可以,我们会要求您尝试分散您的请求。
答案 1 :(得分:17)
谷歌确实以县为例,
在回复中,查看包含代表address_components
县的对象的密钥"Adams"
,
{
long_name: "Adams"
short_name: "Adams"
-types: [
"administrative_area_level_2"
"political"
]
}
以下是地理编码API的docs,
administrative_area_level_2
表示国家级以下的二级民事实体。 在美国,这些行政级别是县。并非所有国家都表现出这些行政级别。
答案 2 :(得分:1)
您可能希望查看Tiger data并查看其属性中是否包含包含县名的多边形。如果是,Java Geotools API允许您使用此数据。您将在县多边形的多边形查询中执行点,然后执行要素属性查找。
答案 3 :(得分:1)
另一种选择:
优点:
缺点:
答案 4 :(得分:0)
也许这是一个很好的解决方案。它采用json格式。我总是在我的项目中使用它。
http://maps.google.com/maps/geo?ll=的 10.345561,123.896932 强>
只需使用php提取信息。
$x = file_get_contents("http://maps.google.com/maps/geo?ll=10.345561,123.896932");
$j_decodex = json_decode($x);
print_r($j_decodex);