我正在使用gmaps apiv3 webservice与latlng couple进行地理编码。这很简单,但我对某些数据有一种奇怪的行为。
等式:
http://maps.googleapis.com/maps/api/geocode/xml?sensor=false®ion=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
...同样的结果
答案 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