< ![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 '地域利用限制';
}
?>

]]>