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