Php 谷歌地图地理编码[无效的_请求]但有效的URL
我正在使用此函数获取数据库中某些地址的Lat en Lng:Php 谷歌地图地理编码[无效的_请求]但有效的URL,php,google-maps,google-geocoder,Php,Google Maps,Google Geocoder,我正在使用此函数获取数据库中某些地址的Lat en Lng: function geocode($street,$city,$country) { $straat = preg_replace('/ /', '+', $street); $stad = preg_replace('/ /', '+', $city); $land = preg_replace('/ /', '+', $country); $addr = $straat . '+' . $stad
function geocode($street,$city,$country) {
$straat = preg_replace('/ /', '+', $street);
$stad = preg_replace('/ /', '+', $city);
$land = preg_replace('/ /', '+', $country);
$addr = $straat . '+' . $stad . '+' . $land;
$apiuri = 'https://maps.googleapis.com/maps/api/geocode/json?address=' . $addr;
$geocode=file_get_contents($apiuri);
$output= json_decode($geocode);
$lat = $output->results[0]->geometry->location->lat;
$long = $output->results[0]->geometry->location->lng;
$LatLng['lat'] = $lat;
$LatLng['long'] = $long;
return $LatLng;
}
对于大多数地址,它工作得很完美,但对于某些地址,我得到{results:[],status:INVALID_REQUEST},但是$apiuri在复制粘贴时工作得很好
我在$straat、$stad和$land上尝试了rawurlencode和utf8_编码,但没有效果
工作链接:=Široká+5+布拉格+捷克+共和国,由上述函数输出
故障可能与地址编码有关,但我看不出在何处或如何解决。已解决:我忘记将页面的字符集设置为utf-8。我的错…我面临着同样的问题,你能解释一下你是如何将页面的字符集设置为utf-8的吗?字符集也是我的问题。对于将来发现此项的任何人,可以通过将此标记添加到HTML的部分来设置字符集: