GMaps api Geocode奇怪的行为

时间:2011-05-17 14:00:38

标签: php xml google-maps

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

等式:

  

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

接下来,我使用导航器(firefox / chrome)和第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)
在'罗谢尔'之前的'La'这个词刚刚消失......那是我的问题。而且这不是一个独特的案例(我可以发布更多例子)。

我也尝试使用file_get_contents, curl, wget ...同样的结果

1 个答案:

答案 0 :(得分:6)

这是因为格式化的街道地址可识别区域设置,并对浏览器的accept-language标头作出反应,该标头可能为fr-FR

如果你要在伦敦编码一个职位,你会在法语浏览器中获得Londres,在英语浏览器中获得London,在芬兰语中获得Lontoo等。

使用language parameter强制使用该语言。

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