Google maps api 3 使用GooglePlacesAPI获取给定地点的附近城市
我试图编写一个Java应用程序,给定一个城市和一个半径,返回附近所有的城市。我原以为谷歌地图API可以做到这一点,但我对Places API不感兴趣,它只返回感兴趣的点(例如餐馆等)。是否有一种方法可以通过google API实现这一点,或者有其他API(或实现这一点的方法)可以推荐?您可能不想使用Places API。您可能想看看是否有一种方法可以使用地理编码/反向地理编码来获得您想要的东西。看Google maps api 3 使用GooglePlacesAPI获取给定地点的附近城市,google-maps-api-3,geocode,Google Maps Api 3,Geocode,我试图编写一个Java应用程序,给定一个城市和一个半径,返回附近所有的城市。我原以为谷歌地图API可以做到这一点,但我对Places API不感兴趣,它只返回感兴趣的点(例如餐馆等)。是否有一种方法可以通过google API实现这一点,或者有其他API(或实现这一点的方法)可以推荐?您可能不想使用Places API。您可能想看看是否有一种方法可以使用地理编码/反向地理编码来获得您想要的东西。看 根据您的性能和准确性要求,您可能无法使用Google Maps API(或任何其他免费工具)轻松做
根据您的性能和准确性要求,您可能无法使用Google Maps API(或任何其他免费工具)轻松做到这一点(尤其是在全球范围内),但您可能可以获得一些大致可行的功能,特别是如果您有地理限制(例如,仅在美国)这可能会简化事情。我编写了一个代码片段,通过组合谷歌地图地理编码API和GeoNames.org API(除了文件获取内容之外,您还可以执行cURL请求),来检索附近的所有城市
/*
*根据城市名称和以公里为单位的半径获取城市
*/
//从谷歌地图地理编码API获取地理编码对象作为数组
$geocodeObject=json\u解码(文件\u获取\u内容('https://maps.googleapis.com/maps/api/geocode/json?address={城市名称},{国家代码}',true);
//从地理编码对象获取纬度和经度
$latitude=$geocodeObject['results'][0]['geometry']['location']['lat'];
$longitude=$geocodeObject['results'][0]['geometry']['location']['lng'];
//设置请求选项
$responseStyle='short';//响应的长度
$citySize='cities15000';//一个城市必须拥有的最低数量的公民
$radius=30;//以公里为单位的半径
$maxRows=30;//要检索的最大行数
$username='{YOUR username}';//您的GeoNames帐户的用户名
//根据GeoNames API中的范围作为数组获取附近的城市
$nearbyCities=json\u decode(文件\u获取\u内容('http://api.geonames.org/findNearbyPlaceNameJSON?lat=“.$latitude.&lng=”.$latitude.&style=”.$responseStyle.&cities=”.$citySize.&radius=”.$radius.&maxRows=”.$maxRows.&username=”.$username,true));
//foreach邻近城市获取城市详细信息
foreach($nearbyCities->geonamesas$cityDetails)
{
//在附近城市做点什么
}
请小心您的请求量,因为API是有限的
有关API的更多信息,请访问以下url: