我有个有点奇怪的问题。我正在做一个项目,需要知道我的php脚本中两个位置之间的距离。您可以为google提供城市名称或邮政编码。
嘿应该很容易对吧?不对!
我试着用已知的邮政编码和我的城市来测试它。“汉诺威”和“30159”的距离应该在0左右,但奇怪的是,我跑了7200公里。(我计算两个和弦之间距离的代码是有效的,请相信我)
现在转到实际问题.
我的脚步:
这是我非常简单的代码。
$url = "https://maps.googleapis.com/maps/api/geocode/json?&address=".urlencode($ort)."&key=$google_api_key";
echo $url."<hr>";
$string = file_get_contents($url);
echo $string."<hr>";这现在很奇怪。与php脚本相比,浏览器中的输出完全不同。
有没有人能向我解释和/或提供解决方案,使脚本的输出像浏览器的“所需”输出的邮政编码30159位于德国境内?
干杯,尼克斯瑞斯
发布于 2019-10-16 12:54:29
好的,我想好了,如果有人有同样的问题,我想和大家分享我的解决方案。
$url = "https://maps.googleapis.com/maps/api/geocode/json?&address=".urlencode($ort)."&key=$google_api_key";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, ["Accept-Language: de-DE-1996"]); // important
$string = curl_exec($curl);
curl_close($curl);当您进行ajax调用时,浏览器会自动传输您的语言,但是php函数没有。使用curl,您可以指定您的语言,这使得google报告是与您的区域最相关的值。
https://stackoverflow.com/questions/58014489
复制相似问题