1. 程式人生 > >使用者Ip地址和百度地圖api介面獲取使用者地理位置(經緯度座標,城市)

使用者Ip地址和百度地圖api介面獲取使用者地理位置(經緯度座標,城市)

<?php   //獲取使用者ip(外網ip 伺服器上可以獲取使用者外網Ip 本機ip地址只能獲取127.0.0.1) function  getip(){      if (! empty
( $_SERVER [ "HTTP_CLIENT_IP" ])){      $cip  = $_SERVER [ "HTTP_CLIENT_IP" ];      }     
else  if (! empty ( $_SERVER [ "HTTP_X_FORWARDED_FOR" ])){      $cip  = $_SERVER [ "HTTP_X_FORWARDED_FOR" ];     
}      else  if (! empty ( $_SERVER [ "REMOTE_ADDR" ])){      $cip  = $_SERVER [ "REMOTE_ADDR" ];      }      else {      $cip  = '' ;      }      preg_match( "/[\d\.]{7,15}/" , $cip , $cips );      $cip  = isset( $cips [0]) ? $cips [0] : 'unknown' ;      unset( $cips );      return  $cip ; }   $ip =getip();   //根據百度地圖api得到使用者Ip地理經緯度和城市   $url  = "http://api.map.baidu.com/location/ip?ak=omi69HPHpl5luMtrjFzXn9df&ip=$ip&coor=bd09ll" ; $ch  = curl_init(); curl_setopt( $ch , CURLOPT_URL, $url ); curl_setopt( $ch , CURLOPT_RETURNTRANSFER, 1); $output  = curl_exec( $ch ); if (curl_errno( $ch )) { echo  'CURL ERROR Code: ' .curl_errno( $ch ). ', reason: ' .curl_error( $ch );} curl_close( $ch ); $info  = json_decode( $output , true); if ( $info [ 'status' ] == "0" ){      $lotx  = $info [ 'content' ][ 'point' ][ 'y' ];      $loty  = $info [ 'content' ][ 'point' ][ 'x' ];      $citytemp  = $info [ 'content' ][ 'address_detail' ][ 'city' ];      $keywords  = explode ( "市" , $citytemp );      $city  = $keywords [0]; } else {      $lotx  = "34.2597" ;      $loty  = "108.9471" ;      $city  = "西安" ; }     var_dump( $lotx ); //x座標  緯度 var_dump( $loty ); //y座標  經度 var_dump( $city ); //使用者Ip所在城市   

  

 --------------------------------------------------

百度地圖api新增功能  有時間可以看看

http://developer.baidu.com/map/index.php?title=jspopular