gpt4 book ai didi

php - 需要 Google 地理编码返回英文城市名称

转载 作者:行者123 更新时间:2023-12-01 05:18:32 25 4
gpt4 key购买 nike

我有这个代码用于请求谷歌更正输入的地址,并需要它返回城市的英文名称:

function gmap_query_xml($in_address) {
$base_url = "http://maps.google.com/maps/geo?output=xml&region=US&language=en&key=". KEY;
$request_url = $base_url . "&q=" . urlencode($in_address);
return simplexml_load_file($request_url);
}

那么,

$xml = gmap_query_xml($in_address);

最后获取城市名称:

if ($xml) {
$city = (string) $xml->Response->Placemark->AddressDetails->Country->AdministrativeArea->SubAdministrativeArea->Locality->LocalityName;
}

这将返回正确的城市名称但是!它以母语表示。尝试罗马 - 你会得到罗马,尝试基辅,你会得到Киев。

如何解决这个问题?谢谢!!

最佳答案

这方面似乎有点困惑。请参阅this list of Google Geocoding API bug reports .

您正在使用旧的 V2 API。

根据this post和我自己的测试,新的V3 API :

http://maps.google.com/maps/api/geocode/xml?address=Rome&sensor=false&language=en

语言参数更加敏感,并且可以正确翻译地点名称。我得到了 language=en (Rome)、language=de (Rom) 甚至 language=fi (Rooma) 的正确结果!

但是,V3 以不同的格式提供地理编码结果,因此您必须相当大地更改解析(由于 addressComponents 现在的结构方式,这也让我很烦恼)。

关于php - 需要 Google 地理编码返回英文城市名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10821644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com