我有一个实体,其中一个成员是实际城市,国家是“创建” - 用户只给我lat,长坐标,我需要使用谷歌API反转地理编码坐标到城市,国家。
我的问题 - 获取该信息的最佳方式是什么?在记录创建过程中使用第三方Web服务是否足够安全?有哪些常见的方法呢?
答案 0 :(得分:1)
这当然足够安全。唯一的问题是响应时间(因为您将同步调用远程Web服务),但如果您只在每次插入时执行此操作,我认为这不会是一个大问题。
Google地理编码API will return results in XML format,因此您只需调用Web服务URL并从响应中提取所需信息。
以下是反向地理编码结果示例:
http://maps.googleapis.com/maps/api/geocode/xml?latlng=40.714224,-73.961452&sensor=false
你没有说你正在使用哪种语言,但我假设PHP-这是解析响应并使用SimpleXML显示地址的一个非常基本的例子:
$lat = 40.714224;
$lng = -73.961452;
$xml = simplexml_load_file("http://maps.googleapis.com/maps/api/geocode/xml?latlng=" . $lat . "," . $lng . "&sensor=false");
foreach($xml->result as $result)
{
foreach($result->address_component as $addresscomponent)
{
echo $addresscomponent->long_name . ' ';
}
echo '<br />';
}