我有一个使用雅虎地理编码占位器API的web应用程序,直到今天早些时候它才完美地工作。它只是随机停止工作。他们不再支持它了吗?我在网上找遍了,我找不到任何关于他们放弃支持的东西,但是我的代码不再工作了。这是我的代码…
function geocode_yahoo($address,$city,$state,$country) {
$address = array($address, $city, $state, $country);
$address = array_filter($address);
$address = urlencode(implode(', ', $address));
$appid = 'CYxSRa64';
$url = 'http://where.yahooapis.com/geocode?location='.$address.'&flags=J&appid='.$appid;
$data = file_get_contents($url);
if ($data != '') {
$data = json_decode($data);
if ($data && $data->ResultSet && $data->ResultSet->Error == '0' && $data->ResultSet->Found) {
return (object) array('lat'=>$data->ResultSet->Results[0]->latitude, 'lng'=>$data->ResultSet->Results[0]->longitude);
}
}
return false;
}
您的代码没有问题,只是服务被停止了。
注意http://where.yahooapis.com现在返回404页面。
该服务原定于2012年11月底退役,但为了给开发人员提供时间迁移到替代的雅虎BOSS服务:http://developer.yahoo.com/boss/geo/
这里没有任何声明服务将被停止:https://developer.yahoo.com/boss/geo/docs/free_YQL.html#table_pf
事实上,在这个页面的底部有一个链接:https://developer.yahoo.com/boss/geo/到免费的YQL版本。