zoukankan      html  css  js  c++  java
  • ip001

     -----------

    <?php
    header('Content-type:text/html;charset=utf8');
    // <script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
    /**
    * 根据地址获取国家、省份、城市及周边数据
    * @param String $ak 百度ak(密钥)
    * @param Decimal $longitude 经度
    * @param Decimal $latitude 纬度
    * @param Int $pois 是否显示周边数据
    * @return Array
    */
    function getAddressComponent($ak, $longitude, $latitude, $pois){

    $param = array(
    'ak' => $ak,
    'location' => implode(',', array($latitude, $longitude)),
    'pois' => $pois,
    'output' => 'json'
    );

    // 请求百度api
    $api = 'http://api.map.baidu.com/geocoder/v2/';
    $response = toCurl($api, $param);

    $result = array();

    if($response){
    $result = json_decode($response, true);
    }

    return $result;

    }

    /**
    * 使用curl调用百度Geocoding API
    * @param String $url 请求的地址
    * @param Array $param 请求的参数
    * @return JSON
    */
    function toCurl($url, $param=array()){

    $ch = curl_init();

    if(substr($url,0,5)=='https'){
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); // 从证书中检查SSL加密算法是否存在
    }

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($param));

    $response = curl_exec($ch);

    if($error=curl_error($ch)){
    return false;
    }

    curl_close($ch);

    return $response;

    }
    $ak = "0ZcfSGCYyuvQNCbUXDPHBUIOes2rNEtDW";

    $url="http://api.map.baidu.com/location/ip?ip=27.184.129.10&ak=0ZcfSGCYyuvQNCbUXDPHBUIOes2rNEtDW&coor=bd09ll";
    $myip=file_get_contents($url);
    $a=substr($myip, (stripos($myip, "x")+4));
    $b=preg_match_all('/d+/',$a,$arr);
    $arr=$arr['0'];

    $x=$arr['0'].".".$arr['1'];

    $y=$arr['2'].".".$arr['3'];

    $longitude = $x;
    $latitude = $y;
    $aa = getAddressComponent($ak,$longitude,$latitude,1);
    // var_dump($aa);
    var_dump($aa['result']['addressComponent']['province']);

    ?>

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

  • 相关阅读:
    练习1-6
    c语言while(1)和while(0)
    练习1-3
    每天总结模电--(三)
    每天总结模电——贴片电阻,电容的命名规则(二)
    服务器应用的通用功能
    UML
    算法合集
    python笔记
    笔面试(2019秋招阶段)
  • 原文地址:https://www.cnblogs.com/vip-deng-vip/p/7762648.html
Copyright © 2011-2022 走看看