< ![CDATA[
继续来看看地理服务的文档
< ?php
$api = new apibus(); //创建 ApiBus 对象
$Geo = $api->load( "geoone"); //创建一级地理位置服务对象
$begin = "116.317245,39.981437";
$end = "116.328422,40.077796";
$drive_route = $Geo->getDriveRoute($begin,$end);
echo "drive_rote: ";
print_r($drive_route);
//错误输出 Tips: 亲,如果调用失败是不收费的
if ( $Geo->isError( $drive_route ) )
{
print_r( $drive_route->ApiBusError->errcode );
print_r( $drive_route->ApiBusError->errdesc );
}
?>
但这里给出的是行车轨迹的demo,我们要搞成IP地址的,所以要写成这样
< ?php
$SaeLocationObj = new SaeLocation();
//根据IP地址返回地理信息坐标
$ip_to_geo_arr = array('ip'=>$_SERVER["REMOTE_ADDR"]);
$ip_to_geo = $SaeLocationObj->getIpToGeo($ip_to_geo_arr);
echo 'where: ';
echo ($ip_to_geo[geos][0][province_name]);
echo '';
// 失败时输出错误码和错误信息
if ( $ip_to_geo === false)
var_dump($SaeLocationObj->errno(), $SaeLocationObj->errmsg());
?>
将这段代码再稍加改造,就可以作为一个简单的访问控制了
< ?php
$SaeLocationObj = new SaeLocation();
//根据IP地址返回地理信息坐标
$ip_to_geo_arr = array('ip'=>$_SERVER["REMOTE_ADDR"]);
$ip_to_geo = $SaeLocationObj->getIpToGeo($ip_to_geo_arr);
if($ip_to_geo[geos][0][province_name]=="广西")
{
echo '欢迎'; //这里填入你的执行代码
}
else
{
echo '地域利用限制';
}
?>
]]>
