zoukankan      html  css  js  c++  java
  • php百度地图根据地址、ip获取经纬度,计算驾车距离

    function get_lat_and_lng_ByIP($ip)
    {
    $content = file_get_contents("https://api.map.baidu.com/location/ip?ak=百度AK&ip=$ip&coor=gcj02");
    $json = json_decode($content,true);

    $lng=$json['content']['point']['x'];//提取经度数据

    $lat=$json['content']['point']['y'];//提取纬度数据

    return array('lat'=>$lat,'lng'=>$lng);
    }

    function get_lat_and_lng_Byaddress($address,$city)
    {
    $content = file_get_contents("https://api.map.baidu.com/geocoding/v3/?address=$address&output=json&ak=百度AK&city=$city&ret_coordtype=gcj02");
    $json = json_decode($content,true);

    $lng=$json['result']['location']['lng'];//提取经度数据

    $lat=$json['result']['location']['lat'];//提取纬度数据

    return array('lat'=>$lat,'lng'=>$lng);
    }
    if(!empty($_SESSION['lat'])&&!empty($_SESSION['lng'])){
    $lat = $_SESSION['lat'];
    $lng = $_SESSION['lng'];
    }elseif(!empty($_SESSION['mydingwei'])){
    $address=$_SESSION['mydingwei'];
    $city=$_SESSION['city_name'];
    $zuobiao=$this->get_lat_and_lng_Byaddress($address,$city);
    $lat = $zuobiao['lat'];
    $lng = $zuobiao['lng'];
    }else{
    $user_ip= $_SERVER["REMOTE_ADDR"];//获取客户端IP
    $zuobiao=$this->get_lat_and_lng_ByIP($user_ip);
    $lat = $zuobiao['lat'];
    $lng = $zuobiao['lng'];
    }

    //计算驾车距离
    $distance = m('util')->GetDistance($lat, $lng, $lat2, $lng2, 2);
    function GetDistance($lat1, $lng1, $lat2, $lng2, $len_type = 1, $decimal = 2)
    {
    $content = file_get_contents("https://api.map.baidu.com/directionlite/v1/driving?origin=$lat1,$lng1&destination=$lat2,$lng2&ak=百度AK&coord_type=gcj02");
    $json = json_decode($content,true);
    $s=$json['result']['routes'][0]['distance'];
    if( 1 < $len_type )
    {
    $s /= 1000;
    }
    return round($s, $decimal);
    }
  • 相关阅读:
    模板网站
    用servlet和jsp做探索数据库
    Hibernate和jsp做数据库单表的增删改查
    拦截器
    校验器-对提交的用户名和密码进行过滤
    使用my exclipse对数据库进行操作(4)
    如何正确关闭游戏服务器
    Ehcache 入门详解
    自动重置 Language Level默认为5与 Java Complier默认为1.5
    洪均生谈初学者练习(怎样认识太级拳和怎样进行练习)
  • 原文地址:https://www.cnblogs.com/yangchong/p/15055804.html
Copyright © 2011-2022 走看看