php - GMaps api 地理编码奇怪的行为

标签 php xml google-maps

我正在使用 gmaps apiv3 webservice 与 latlng 对进行地理编码。这很简单,但我对某些数据有奇怪的行为。

方程式:

http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&region=fr&latlng=46.16141,-1.149797

接下来,我使用导航器(firefox/chrome)打开 url,在 formatted_address 行,值是:

<formatted_address>57-79 Rue des Merciers, 17000 La Rochelle, France</formatted_address>

但是当我通过 PHP 获取 xml 文件时

$xml = simplexml_load_file($url);
var_dump($xml)

结果:

public 'formatted_address' => string '57-79 Rue des Merciers, 17000 Rochelle, France' (length=46)

“Rochelle”之前的“La”这个词就消失了......这是我的问题。这不是一个独特的案例(我可以发布更多示例)。

我也尝试使用file_get_contents、curl、wget ...相同的结果

最佳答案

这是因为格式化的街道地址可识别区域设置,并对浏览器的 accept-language header (可能是 fr-FR)作出 react 。

如果您对伦敦的位置进行编码,则在法语浏览器中会得到 Londres,在英语浏览器中会得到 LondonLontoo > 芬兰语等。

使用language parameter来强制语言。

http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&
region=fr&latlng=46.16141,-1.149797&language=fr

关于php - GMaps api 地理编码奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6031939/

相关文章:

javascript - 将 javascript 提示输入传递给 PHP 变量

php - 发送短信以从数据库 Kannel 中删除用户

html - 将字符对象转换为 HTML

c# - 为什么从 NetworkStream 加载 XML 时服务器会阻塞?

javascript - 文档开头不允许使用 XML

javascript - 将我自己的图像作为标记而不是图钉标记

ios - 在 iOS5 中,当我点击 map 时,它第一次崩溃?

javascript - Access-Control-Allow-Headers Google map 地理编码不允许请求 header 字段授权

php - 在php中检查字符串的第一个和最后一个字符最简单的是什么

php - 如何为构造函数指定 void 返回类型