我有一个使用Yahoo Geocoding Placefinder API的网络应用程序,它一直运行到今天早些时候.它只是随机退出工作.他们不再支持了吗?我已经遍布网络了,我找不到任何有关他们的支持,但我的代码不再有效.这是我的代码……
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月底退休,但仍在运行,以便为开发人员提供时间迁移到替换的Yahoo BOSS服务:http://developer.yahoo.com/boss/geo/